2010-07-07 3 views
3

У кого-нибудь есть видео, воспроизводимое на AVPlayerLayer с альфа-каналом?AVPlayerLayer с альфа-маской

Если да, то как это возможно? Я пробовал много разных решений, в том числе с использованием чистого альфа-канала, применяя режимы смешивания к целевому слою и сам анимацию каждого кадра. Единственное работоспособное решение - последнее, и он слишком сильно боксирует телефон.

+1

любые новости здесь? Вы решили свою проблему? – headkit

ответ

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; 

маска Пурнефтегаз-файл с прозрачностью.

+1

Да, но ваша маска - статическое изображение. Что делать, если мне нужна маска для анимирования. Я знаю, что вы можете иметь анимацию фреймов в качестве маски, но это не то, что мы ищем, это играть прозрачное видео, а не рамки png – alex

Смежные вопросы