我遇到了这个奇怪的问题。当我使用 MpMoviePlayerController
播放任何视频时,如果我收到任何提醒警报并且选择关闭,那么我的应用程序将崩溃并显示日志:
"An AVPlayerItem cannot be associated with more than one instance of AVPlayer".
我仅使用一个 MpPlayerController
实例。
我在谷歌上搜索了这个问题,发现如果我设置 MpMoviePlayerController
的属性 useApplicationAudioSession = NO
就可以避免这种情况,那么我就不会遇到任何崩溃。
但问题是这个属性在 IOS6 之后被弃用并且苹果不建议使用这个属性。
最佳答案
我猜问题是您的 Audio Session 被警报消息的音频 ping 中断。尝试使用共享实例来获取 Audio Session 。然后设置一个通知监听器来正确处理中断。请参阅此处的苹果指南 Handle Audio Interruptions
NSError *setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error: &setCategoryError];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(interruptionHandler:) name:AVAudioSessionInterruptionNotification object:nil];
关于iphone - MpMovieplayer 在提醒警报弹出期间崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16016814/