swift - 插入或拔出耳机时 AVAudioEngine 崩溃

标签 swift

我正在我的 iPhone6 Plus 上测试我的 audioApp,它在插入或拔出耳机后崩溃。 AVAudioEngine, AVAudioMixer, AVAudioPlayerNode 在我的应用中使用。

在没有耳机的情况下启动应用程序可以从 iPhone 扬声器播放声音。

用耳机启动应用可以播放耳机的声音。

错误发生在以下情况。 在没有耳机的情况下启动应用程序并从扬声器播放声音。然后,如果我连接耳机,耳机就没有声音。之后当我拔下耳机时,即使扬声器也没有声音。当我触摸屏幕时,audioApp 崩溃了。

与使用耳机启动应用程序并拔下耳机相同。

如何解决这个错误? 非常感谢您的建议。

这是我收到的错误信息。

Terminating app due to uncaught exception 'com.apple.coreaudio.avfaudio', reason: 'required condition is false: _engine->IsRunning()'
*** First throw call stack:
(0x184d61e48 0x1954a80e4 0x184d61d08 0x1836d26c0 0x1836fa328 0x1836f975c 0x1000d03c0 0x1000d0728 0x1895450f8 0x18952e22c 0x189544a94 0x189544720 0x18953dc74 0x18951138c 0x1897b01b4 0x18950f8f4 0x184d1a0e8 0x184d1938c 0x184d1743c 0x184c451f4 0x18ddd35a4 0x189576784 0x1000d5614 0x1000d5654 0x195b16a08)
libc++abi.dylib: terminating with uncaught exception of type NSException

最佳答案

您需要注册到AVAudioEngineConfigurationChangeNotification通知并执行必要的步骤来更新输出节点。

关于swift - 插入或拔出耳机时 AVAudioEngine 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26728250/

相关文章:

ios - 如何在具有两个 Storyboard iOS Swift 的项目中初始化 View Controller

ios - 基本 Firebase 数据库问题 (Xcode + Swift)

swift - 在 IF 语句中使用未解析的标识符

ios - 在 Swift 中隐藏 UISearchBar

ios - 如何导出 SwiftUI 2 的 ColorPicker View 的 RGB 组件?

swift - NSObject 到 Int (Swift)

快速获取名称存储在另一个变量中的类属性

ios - 如何创建 Swift 空二维数组以便稍后添加值

ios - 如何通过点击获得一个SCNNode?

ios - Alamofire ServerTrustPolicy 证书固定不阻止 Charles 代理 Swift 3