对于语音到文本 - 我使用“语音框架”并使用此link创建演示。 但在获得文本后,我想说出文本字段文本。
var synth = AVSpeechSynthesizer()
var myUtterance = AVSpeechUtterance(string: textfield.text)
myUtterance.rate = 0.3
synth.speak(myUtterance)
但上面的代码不起作用。 在这里,我附上了演示项目链接:demo project link
答案 0 :(得分:3)
您的代码正在运行,但您无法听到声音,因为当您开始录制时,您将audioSession的类别设置为" AVAudioSessionCategoryRecord"。此类别用于录制音频和静音播放音频。然后你必须改变这个设置才能听到任何声音。 试试这个:
let audioSession = AVAudioSession.sharedInstance() //2
do {
try audioSession.setCategory(AVAudioSessionCategorySoloAmbient)
try audioSession.setMode(AVAudioSessionModeSpokenAudio)
try audioSession.setActive(true, with: .notifyOthersOnDeactivation)
} catch {
print("audioSession properties weren't set because of an error.")
}
myUtterance = AVSpeechUtterance(string: textView.text!)
myUtterance.rate = 0.3
synth.speak(myUtterance)