2010-07-07 79 views
3

是否有人玩過帶有Alpha通道的AVPlayerLayer播放的視頻?帶alpha蒙版的AVPlayerLayer

如果是這樣,它怎麼可能?我已經嘗試了許多不同的解決方案,包括使用純粹的Alpha通道視頻,將混合模式應用到目標圖層並自行爲每個幀製作動畫。唯一可行的解​​決方案是後者,它讓電話過度下沉。

+1

這裏有什麼消息嗎?你解決了你的問題嗎? – headkit 2012-07-24 10:00:49

回答

1

我使用掩模,

NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: file]; 

AVURLAsset* url = [AVURLAsset URLAssetWithURL:fileURL options:[NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:AVURLAssetPreferPreciseDurationAndTimingKey]]; 

AVPlayerItem* pitem = [AVPlayerItem playerItemWithAsset:url1]; 
AVPlayer*player = [AVPlayer playerWithPlayerItem:pitem1]; 

pv = [[PlayerView alloc] initWithFrame:CGRectMake(0,0, 100, 100)]; 
[pv setPlayer:player]; 

UIImageView*iv = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"mask"]]; 
pv.layer.mask = iv.layer; 

掩模是png文件與透明度。

+1

是的,但你的面具是一個靜態圖像。如果我需要面具也是動畫的,那該怎麼辦? 我知道你可以有一個框架動畫作爲一個面具,但這不是我們正在尋找的是播放一個透明的視頻,而不是一個PNG幀 – alex 2011-10-02 20:44:12