2010-07-07 53 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