2010-07-07 4 views
3

Quelqu'un a-t-il lu une vidéo sur un AVPlayerLayer avec un canal alpha?AVPlayerLayer avec masque alpha

Si oui, comment est-ce possible? J'ai essayé de nombreuses solutions différentes, y compris l'utilisation de la vidéo en canal alpha pure, l'application de modes de fusion au calque cible et l'animation de chaque image moi-même. La seule solution réalisable est celle-ci et cela nuit trop au téléphone.

+1

des nouvelles ici? As-tu résolu ton problème? – headkit

Répondre

1

i utiliser un masque,

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; 

masque png fichier avec transparence.

+1

Oui, mais votre masque est une image statique. Et si j'ai besoin que le masque soit aussi animé? Je sais que vous pouvez avoir une animation de frameset en tant que masque, mais ce n'est pas ce que nous recherchons, c'est de jouer une vidéo transparente et pas une image png – alex