用透明背景加载MPMoviePlayerViewController?

时间:2010-07-07 12:19:57

标签: iphone mpmovieplayercontroller

我添加了一个MPMoviePlayerViewController实例并且播放电影效果很好。 我有3个按钮,想要在UIView容器中加载不同的视频。这也有效。 但是,如果我点击按钮加载其他视频,每次背景闪烁黑色。 我将颜色设置为“clearColor”:

    player.moviePlayer.backgroundView.backgroundColor = [UIColor  clearColor];

但这没有用。有没有办法加载没有背景的视频 - 只有视频内容?

感谢您的时间。

2 个答案:

答案 0 :(得分:10)

  1. 不确定闪烁的问题。你说当你加载另一个视频时它会闪烁 - 你是否无意中将多个视频叠加在一起?确保你删除旧的!
  2. 黑色背景可能是因为你的 的MPMoviePlayerController的 scalingMode属性设置为MPMovieScalingModeAspectFit (Apple的文档: MPMoviePlayerController scalingMode
  3. 对于问题#2,和你一样,我原本期望设置backgroundView的颜色来处理这个问题,但是看起来还有另一个视图,你需要将backgroundColor设置为clearColor。我对此的破解是简单地遍历电影播放器​​的子视图并将其backgroundColor设置为清除。

    使用变量名称的Hack /“Solution”示例:

    for(UIView* subV in player.moviePlayer.view.subviews) {
        subV.backgroundColor = [UIColor clearColor];
    }
    

    每次进入/退出全屏模式时,您都必须将clearColor重新应用于子视图。我希望其他人有更好的解决方案,因为这种方法看起来非常糟糕。

答案 1 :(得分:1)

另一种选择是隐藏视频播放器,然后在准备好显示时显示它

警告需要IO6> =我相信:

https://stackoverflow.com/a/19459855/401896