2010-07-07 23 views
7

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

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

但是doesn't帮助。有没有办法加载一个没有背景的视频 - 只有视频内容?

谢谢你的时间。

+0

有同样的问题...谢谢Apple:P – Adam 2010-08-31 04:23:26

回答

10
  1. 不确定闪烁问题。当你加载另一个视频时,你说它会闪烁 - 你是不是无意地将多个视频叠加在一起?确保你删除旧的!
  2. 黑色的背景可能是因为你的 的MPMoviePlayerController的 scalingMode属性设置为MPMovieScalingModeAspectFit(苹果的文档: MPMoviePlayerController scalingMode

问题#2,和你一样,我曾预计backgroundView的颜色设置为处理这个问题,但是看起来还有另外一个你也需要将backgroundColor设置为clearColor的视图。我的黑客就是简单地遍历电影播放器​​的子视图并设置其backgroundColor清除。

哈克/“解决方案”例如,使用您的变量名:

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

你必须重新申请clearColor到子视图您进入/退出全屏模式,以及任何时候。我希望别人有更好的解决方案,因为这种方法看起来非常糟糕。

+0

这是唯一对我有用的解决方案。谢谢! – Giovanni 2013-01-16 04:37:18

+0

添加'player.movi​​ePlayer.view.backgroundColor = [UIColor clearColor];'它也适用于我 – Ossir 2014-01-28 10:19:01