以下是代码段,url是视频网址。此错误随机发生。 我无法追查问题所在。此外,视频还存储在云端和视频中,以便在AVPlayer上播放。以下代码中缺少任何内容。
+ (void)presentVideoForURL:(NSURL *)URL parentViewController:(UIViewController *)parentViewController {
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
NSError *setCategoryError;
if (![audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError]) {
Error(@"setCategoryError %@", setCategoryError.localizedDescription);
}
NSError *activationError;
if (![audioSession setActive:YES error:&activationError]) {
Error(@"activationError: %@", activationError.localizedDescription);
}
AVPlayer *player = [[AVPlayer alloc] initWithURL:URL];
AVPlayerViewController *playerController = [[AVPlayerViewController alloc] init];
playerController.player = player;
[parentViewController presentViewController:playerController animated:YES completion:^{
[player play];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackDidFinish:) name:AVPlayerItemDidPlayToEndTimeNotification object:player.currentItem];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackDidFinish:) name:AVPlayerItemFailedToPlayToEndTimeNotification object:player.currentItem];
}];
}
答案 0 :(得分:2)
检查以下两种情况。
1)检查网址是否正确。
2)如果您的网络速度很慢并且AVPlayer没有将足够的数据放入其缓冲区,它会停止加载并显示您提到的UI(播放按钮中的横条)。所以尝试使用高速网络。 如果出现此问题,您可以使用播放停止通知重新启动播放器。
我有第二个问题,我修复了这个问题。