具有透明度的iPad视频

时间:2010-09-07 16:14:36

标签: objective-c ipad video ios4 ios

是否可以在iPad上静态动态背景UIView(即偶尔会发生变化的视图)上播放带有Alpha图层(透明度)的QuickTime视频?

谢谢!

5 个答案:

答案 0 :(得分:3)

为了清除错误信息,您无法使用iOS中内置视频逻辑的Alpha通道视频。您可以创建使用动画编解码器编码的Quicktime影片,并使用AVAnimator将视频加载到视图或图层中。你不能做的是创建一个带有alpha通道的H264视频,这是iOS不支持的。

display movies with an alpha channel under iOS

答案 1 :(得分:1)

MPMoviePlayerController有一个backgroundView属性。文档声明:

  

此视图提供支持内容,在其上方显示电影内容。如果要显示自定义背景内容,可以将子视图添加到背景视图。

我还没试过,但如果视频内容本身有alpha,听起来应该会显示这个视图。如果您将该视图设置为清除,则它可能正常工作...

答案 2 :(得分:0)

首先,您的视频需要透明度:http://docs.info.apple.com/article.html?artnum=42599

恕我直言:我认为视频组件有一个坚实的背景色(黑色),你必须将其设置为[UIColor clearColor]你必须尝试,我不确定这是否有效。

欢呼endo

答案 3 :(得分:0)

您可以拥有普通视频并减少展示视图的Alpha值。通过将AVPlayer添加到AVPlayerLayer并设置AVPlayerLayer的字母,可以使用UIViewUIView来完成此操作。类似的东西:

self.player = [[AVPlayer alloc] initWithURL:url];
self.playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player];
self.playerLayer.frame = view.bounds;
...etc...
self.playerView.alpha = 0.3;
[self.playerView.layer addSublayer:self.playerLayer];

我没有尝试使用视频中的alpha通道本身,但AVPlayerLayer也适用于此。

答案 4 :(得分:-1)

我认为您可以让视频透明,而播放视频则会将视图的alpha值调整为0.0到1.0。例如0.50。播放vido后,将视图的alpha值更改为1.0。

相关问题