我遇到这个奇怪的问题。当我使用MpMoviePlayerController
播放任何视频时,如果我收到提醒提醒并选择关闭,那么我的应用程序将崩溃并显示日志:
“AVPlayerItem不能与多个实例相关联 AVPlayer”。
我只使用MpPlayerController
的一个实例。
我搜索了这个问题,发现如果我设置useApplicationAudioSession = NO
的属性MpMoviePlayerController
,那么就可以避免这种情况,然后我就没有崩溃了。
但问题是,在IOS6之后,此属性已弃用,并且Apple不建议使用此属性。
答案 0 :(得分:1)
我猜测问题是您的音频会话被警报消息的音频ping中断。尝试使用共享实例来获取音频会话。然后设置通知侦听器以正确处理中断。请参阅此处的苹果指南Handle Audio Interruptions
NSError *setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error: &setCategoryError];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(interruptionHandler:) name:AVAudioSessionInterruptionNotification object:nil];
答案 1 :(得分:1)
我认为你想要的是:AVAudioSessionCategoryAmbient
查看所有“Audio Session Categories”的说明。
这应该适合你:
NSError *setCategoryError = nil;
BOOL success = [[AVAudioSession sharedInstance]
setCategory: AVAudioSessionCategoryAmbient
error: &setCategoryError];
描述于:Setting the Category。