我正在使用AVFoundation的AVPlayer播放由1个较长视频制作的2个视频片段(因此第一个片段的结尾与第二个片段的开头相匹配)
当第一个视频结束并且用户点击时,我创建一个新的AVPlayer并将其分配给我的PlayerView,并开始播放第二个剪辑.
这一切都有效,然而,有一个突出的屏幕"闪烁".
我的假设是,这是由玩家视图删除第一个剪辑然后显示第二个剪辑引起的.
我需要的是这个闪烁没有出现,因此在两个剪辑之间进行无缝连接.
有没有人知道是否有办法通过AVPlayer*类来阻止这个flickr,或者通过做某事来"伪造"它以使其不可见.
谢谢
下面是我的加载和播放方法的代码:
- (void)loadAssetFromFile
{
NSURL *fileURL = nil;
switch (playingClip)
{
case 1:
fileURL = [[NSBundle mainBundle] URLForResource:@"wh_3a" withExtension:@"mp4"];
break;
case 2:
fileURL = [[NSBundle mainBundle] URLForResource:@"wh_3b" withExtension:@"mp4"];
break;
case 3:
fileURL = [[NSBundle mainBundle] URLForResource:@"wh_3c" withExtension:@"mp4"];
break;
case 4:
fileURL = [[NSBundle mainBundle] URLForResource:@"wh_3d" withExtension:@"mp4"];
break;
default:
return;
break;
}
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:fileURL options:nil];
NSString *tracksKey = @"tracks";
[asset loadValuesAsynchronouslyForKeys:[NSArray arrayWithObject:tracksKey] completionHandler:
^{
// The completion …
Run Code Online (Sandbox Code Playgroud)