iphone - 如何在 iOS 7 音频中断后恢复 Audio Session ?

标签 iphone objective-c ipad ios7 avaudiosession

在 iOS 7 中,在我的音频中断监听器被调用后,任何恢复 Audio Session 的尝试似乎都会无提示地失败。

我的中断监听器调用

NSError *activationError = nil;
[[AVAudioSession sharedInstance] setActive:YES error:&activationError];

但是闹钟一响,应用程序的 Audio Session 就停止了。监听器以适当的开始和结束状态被调用。

它在 iOS 6 上工作得很好。

我听说这是一个bug在 iOS 7 中,并且有一个解决方法,但找不到它。

有谁知道来自 Apple 的解决方法或技术说明的链接?

编辑:我发现我必须使用AVAudioSessionCategoryPlayback而不是kAudioSessionCategory_AmbientSound。现在可以了。但这不是我想要的类别。

最佳答案

根据 Apple 的 Audio Session 编程指南,您应该聆听中断处理程序中的变化并使用react。这意味着您的代码也可以/应该根据接收到的参数 interruptionState 处理中断的结束。

查看此链接上的“音频中断处理技术”,我认为它会对您有很大帮助:https://developer.apple.com/library/ios/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/HandlingAudioInterruptions/HandlingAudioInterruptions.html

祝你好运, Z.

关于iphone - 如何在 iOS 7 音频中断后恢复 Audio Session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19744325/

相关文章:

iphone - UINavigationBar 高度和横向模式

ios - 释放什么

ios - 向后使用自定义字符串

iphone - 用 iPad 在 Canvas 上作画?

php - 从 iPhone 上的 HTTP 请求中获取一个数组作为答案

ios - 启动时在 Core Data 中预填充信息。

iphone - iOS 方向

iphone - 通过我的应用程序可以通过网络存储/下载的最大数据?沙箱有什么限制吗?

ios - 使用我自己的图像后缀时,iOS的图像尺寸错误

iphone - 在不重新加载整个 tableView 的情况下在 tableView 中实现 "More"按钮