文本到语音不起作用,使用语音到文本获取文本时

时间:2017-08-24 13:19:05

标签: ios swift avspeechsynthesizer

对于语音到文本 - 我使用“语音框架”并使用此link创建演示。 但在获得文本后,我想说出文本字段文本。

var synth = AVSpeechSynthesizer()
var myUtterance = AVSpeechUtterance(string: textfield.text)
myUtterance.rate = 0.3
synth.speak(myUtterance)

但上面的代码不起作用。 在这里,我附上了演示项目链接:demo project link

1 个答案:

答案 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)