iOS AVPlayer在Play图标上显示带有交叉线的屏幕

时间:2016-06-23 11:10:23

标签: ios avplayer

Screen Shot of AVPlayer error

以下是代码段,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];
      }];
}

1 个答案:

答案 0 :(得分:2)

检查以下两种情况。

1)检查网址是否正确。

2)如果您的网络速度很慢并且AVPlayer没有将足够的数据放入其缓冲区,它会停止加载并显示您提到的UI(播放按钮中的横条)。所以尝试使用高速网络。     如果出现此问题,您可以使用播放停止通知重新启动播放器。

我有第二个问题,我修复了这个问题。