加载具有透明背景的 MPMoviePlayerViewController?
Posted
技术标签:
【中文标题】加载具有透明背景的 MPMoviePlayerViewController?【英文标题】:Loading MPMoviePlayerViewController with transparent background? 【发布时间】:2010-07-07 12:19:57 【问题描述】:我添加了一个 MPMoviePlayerViewController 实例,播放电影效果很好。 我有 3 个按钮,想在 UIView 容器中加载不同的视频。这也有效。 但是如果我点击一个按钮来加载另一个视频,每次背景都会闪烁黑色。 我已将颜色设置为“clearColor”:
player.moviePlayer.backgroundView.backgroundColor = [UIColor clearColor];
但这无济于事。有没有办法在没有背景的情况下加载视频 - 只有视频内容?
感谢您的宝贵时间。
【问题讨论】:
遇到同样的问题...感谢苹果:P 【参考方案1】:-
不确定闪烁问题。你说当你加载另一个视频时它会闪烁——你是否无意中将多个视频叠加在一起?确保删除旧的!
黑色背景可能是因为您的
MPMoviePlayerController 的
scalingMode
属性设置为 MPMovieScalingModeAspectFit
(Apple 的文档:
MPMoviePlayerController
scalingMode)
对于问题 #2,和您一样,我曾期望设置 backgroundView 的颜色来处理此问题,但似乎还有另一个视图,您还需要将 backgroundColor 设置为 clearColor。我的破解方法是简单地遍历电影播放器的子视图并将它们的背景颜色设置为清除。
使用您的变量名的破解/“解决方案”示例:
for(UIView* subV in player.moviePlayer.view.subviews)
subV.backgroundColor = [UIColor clearColor];
您也必须在任何时候进入/退出全屏模式时重新将 clearColor 应用于子视图。我希望其他人有更好的解决方案,因为这种方法看起来很笨拙。
【讨论】:
添加了player.moviePlayer.view.backgroundColor = [UIColor clearColor];
,它也适用于我【参考方案2】:
另一种选择是隐藏视频播放器,然后在准备好显示时显示它
警告需要 IO6>= 我相信:
https://***.com/a/19459855/401896
【讨论】:
以上是关于加载具有透明背景的 MPMoviePlayerViewController?的主要内容,如果未能解决你的问题,请参考以下文章
具有透明背景的 MPMoviePlayerViewController 视频