iphone - MpMovieplayer 在提醒警报弹出期间崩溃

标签 iphone ios objective-c ipad mpmovieplayercontroller

我遇到了这个奇怪的问题。当我使用 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/

相关文章:

css - <div> <a> 按钮在 iPhone 上不起作用

ios - 将 "2011-11-04T18:30:49Z"转换为 "MM/dd/yy hh:mm:SS a"格式

android - 在 Android 和 iOS 上使用 QT 和 QML 编辑视频

objective-c - Objective-C 中的属性声明

ios - 将带有属性字符串的 UILabel 设置为 titleView 导航 Controller 会导致奇怪的行为

iphone - touchesBegan 后立即出现 EXC_BAD_ACCESS

iphone - 寻找 : iOS 6 NSAttributedString Descenders Block Underline 的解决方法

iphone - 跨越多个 UITableViewCells 的背景图像(分组)

iphone - 自定义字体在 iPhone 设备上不起作用

iphone - 无法将 NSMutableDictionary 发送到另一个类