对于文本语音转换-我使用了“语音框架”,并使用link创建了演示。
但是获取文本后,我想说文本字段文本。

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

但以上代码无法正常工作。
在这里,我附加了演示项目链接:demo project link

最佳答案

您的代码有效,但是您听不到声音,因为在开始录制时,您将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)

关于ios - 文字转语音不起作用,使用文字转语音获取文字时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45862745/

10-15 08:09