Текст в речь не работает, При получении текста с использованием речи в текст

Для Speech to text - я использовал "Speech Framework" и создаю демо по этой ссылке. Но после получения текста я хочу произнести текстовое поле текста.

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

но приведенный выше код не работает. здесь я прикрепил ссылку на демонстрационный проект: ссылка на демонстрационный проект

1 ответ

Решение

Ваш код работает, но вы не могли слышать голос, потому что, когда вы начинаете запись, вы устанавливаете категорию 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)
Другие вопросы по тегам