我正在我的 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/