nod*_*del 5 ios swift sfspeechrecognizer swiftui
受到这个问题的启发(没有得到答案)。
上下文:我有一个 (swiftUI) 视图,它有 2 个按钮和一个文本字段。一键打开麦克风并使用 SFSpeechrecognizer 将语音转换为文本(并填充文本字段)。然后将其发送到我的服务器,我的应用程序会收到一个响应,该响应通过 AVSpeechSynthesizer 发出。麦克风始终处于打开状态,因为该应用程序应该是对话式的。因此,语音输出被麦克风捕获。
问题:我不想在说出响应时禁用麦克风,因为我通过麦克风控制我的应用程序。是否可以让麦克风(SFSpeechrecognizer)忽略 AVSpeechSynthesizer 所说的语音?Facetime 通过忽略设备播放的音乐来执行类似的操作。
我的语音转文本代码主要是修改了this。
文字转语音片段如下:
let utterance = AVSpeechUtterance(string: serverResponse)
utterance.voice = AVSpeechSynthesisVoice(language: "en-US")
utterance.rate = 0.1
let synthesizer = AVSpeechSynthesizer()
synthesizer.speak(utterance)
Run Code Online (Sandbox Code Playgroud)