Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS 9:带有AVPlayer的旧项目已停止播放视频-无错误消息_Ios_Avfoundation_Ios9_Avplayer - Fatal编程技术网

iOS 9:带有AVPlayer的旧项目已停止播放视频-无错误消息

iOS 9:带有AVPlayer的旧项目已停止播放视频-无错误消息,ios,avfoundation,ios9,avplayer,Ios,Avfoundation,Ios9,Avplayer,当我打开一个非常依赖AVPlayer的老项目时,这个问题就出现了:没有视频显示或播放,尽管没有控制台消息显示,代码方面的事情看起来很正常。这里有一些代码向我展示了这个问题: AVPlayer *player = [AVPlayer playerWithURL: [[NSBundle mainBundle] URLForResource:@"IMG_8481" withExtension:@"MOV"]]; AVPlayerLayer *player

当我打开一个非常依赖AVPlayer的老项目时,这个问题就出现了:没有视频显示或播放,尽管没有控制台消息显示,代码方面的事情看起来很正常。这里有一些代码向我展示了这个问题:

            AVPlayer *player = [AVPlayer playerWithURL: [[NSBundle mainBundle] URLForResource:@"IMG_8481" withExtension:@"MOV"]];
            AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer: player];
            [self.layer addSublayer: playerLayer];
            [player play];
我不确定这里出了什么问题,但我没有视频播放

我检查过的东西: -该层可见(通过设置其背景色进行检查) -玩家不是零,也不是被释放 -播放机上的currentItem属性不是nil -视频文件是在iPhone上录制的,然后通过图像捕获完成的,所以应该很好


有什么想法吗?我非常感激:)

使用KVO监控玩家的状态。当您获得失败状态时,请检查AVPlayer的错误属性以了解更多信息。关于在上观察的信息

使用KVO可以通知玩家状态的更改,如下所示:

[self.playerItem addObserver:self 
      forKeyPath:@"status"
      options:NSKeyValueObservingOptionNew
      context:nil];
状态更改时将调用此方法:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object
                    change:(NSDictionary *)change context:(void  *)context {
    if (object == self.playerItem && [keyPath isEqualToString:@"status"]) {
        // you can get status here
    }
}
如果您的代码在iOS 8中运行正常,但在iOS 9中运行不正常,则应确认应用程序传输安全设置。 见: