2

我正在尝试查看具有 alpha 通道的视频女巫(背景是透明的)。唯一的问题是我似乎不知道如何使播放器的背景透明。我知道我必须使用 AVplayer,但我无法访问它的 .view 属性。如何将其添加到子视图并添加图层?

NSString *path = [NSString stringWithFormat:@"%@%@", [[NSBundle mainBundle] resourcePath],   @"/New Project 5.m4v"];

NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO];

moviePlayer = [[AVPlayer alloc] initWithURL:filePath];

AVPlayerLayer* playerLayer = [AVPlayerLayer playerLayerWithPlayer:moviePlayer];
self.playerLayer.frame = self.view.bounds;

moviePlayer.view.alpha = 0.3;
[moviePlayer.layer addSublayer:playerLayer];

[moviePlayer play];
4

1 回答 1

3

iOS SDK 不正确支持 Alpha 通道视频播放。这适用于 AVFramework 以及 MediaPlayer 框架。使用 Apple 的 API 时,包含 Alpha 通道的视频素材将无法正常工作。

正如您在代码中实际显示的那样,AVPlayer不使用 aUIView作为播放视频的表面,而是使用 CALayer 的子类,AVLayer.

您将需要重新考虑您的应用程序设计或选择不同的播放 SDK。

于 2013-05-08T19:48:47.587 回答