我正在尝试运行苹果SpeakToMe:使用语音识别与来自他们的网站在这里的AVAudioEngine示例。我的问题是,当您停止AVAudioEngine和SpeechRecognizer时,您就不能再使用系统声音。
,您如何释放AVAudioEngine和SpeechRecognizer,使声音在录制停止后再次工作?
为了重复这一点:
更新
这只发生在一个真正的设备上,而不是在模拟器上。
发布于 2016-12-13 01:26:42
经过几个小时的调试,我发现了一个未发布的对象,引起了问题。在他们的示例代码中,他们没有发布AVAudioSession。这会导致声音通道被阻塞。
修复方法是使AVAudioSession成为一个属性:
private var audioSession : AVAudioSession?然后在停止录制时将audioSession.active设置为false:
if let audioSession = audioSession {
do {
try audioSession.setActive(false, with: .notifyOthersOnDeactivation)
} catch {
// handle error
}
}https://stackoverflow.com/questions/41111963
复制相似问题