2013-05-08 86 views
1

我想查看一個視頻巫婆有一個alpha通道(背景是透明的)。唯一的問題是,我似乎沒有弄清楚如何使播放器的背景透明。我知道我必須使用AVplayer,但我無法訪問它的.view屬性。我如何將它添加到子視圖並添加一個圖層?使用AVPlayer查看透明視頻

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]; 

回答

2

iOS SDK不能正確支持Alpha通道視頻播放。這適用於AVFramework以及MediaPlayer框架。包含Alpha通道的視頻素材無法像您使用Apple API時期望的那樣工作。

而當你真正在代碼中顯示,AVPlayer不使用UIView,因爲其表面播放影片,但CALayer的,AVLayer的子類。

您需要重新考慮應用程序設計或選擇不同的播放SDK。

+0

默認情況下不支持alpha通道是正確的,但這裏列出了幾個解決方法:http://stackoverflow.com/questions/1401517/iphone-sdk-how-to-play-a-video -with透明度 – MoDJ 2013-07-25 22:43:07