AVPlayerLayer с альфа-маской - PullRequest
4 голосов
/ 07 июля 2010

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

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

1 Ответ

2 голосов
/ 30 ноября 2010

я использую маску,

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-файл с прозрачностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...