gpt4 book ai didi

ios - AVAudioEngine 的语音识别在录制后阻止声音

转载 作者:可可西里 更新时间:2023-11-01 00:36:02 26 4
gpt4 key购买 nike

我正在尝试运行来自 their website here 的 Apple SpeakToMe:将语音识别与 AVAudioEngine 结合使用示例.我的问题是,当您停止 AVAudioEngine 和 SpeechRecognizer 时,您将无法再使用系统声音。

您如何释放 AVAudioEngine 和 SpeechRecognizer,以便声音在录音停止后再次起作用?

要复制这个:

  • 下载示例代码
  • 将 UITextField 添加到 Storyboard。
  • 运行项目并在文本字段中键入(您会注意到您可以听到键入事件的声音)。
  • 然后开始录音和停止录音
  • 再次在文本字段中输入(现在没有声音)

更新

这只会发生在真实设备上 - 而不会发生在模拟器上。

最佳答案

经过几个小时的调试,我发现了导致问题的未发布对象。在他们的示例代码中,他们没有发布 AVAudioSession。这会导致声道被阻塞。

解决方法是使 AVAudioSession 成为一个属性:

private var audioSession : AVAudioSession?

然后在停止录制时将audioSession.active设置为false:

if let audioSession = audioSession {
do {
try audioSession.setActive(false, with: .notifyOthersOnDeactivation)
} catch {
// handle error
}
}

关于ios - AVAudioEngine 的语音识别在录制后阻止声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41111963/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com