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

Для преобразования речи в текст я использовал "Speech Framework" и создал демонстрацию, используя этот ссылка. Но после получения текста я хочу произнести текст текстового поля.

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

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


person Community    schedule 24.08.2017    source источник
comment
Какой используется язык? Вы уверены, что были подключены к Интернету (stackoverflow.com/questions/42900254/)?   -  person Ahmad F    schedule 24.08.2017
comment
да, мой интернет подключен.   -  person    schedule 24.08.2017
comment
@AhmadF Я создаю демонстрационные функции преобразования текста в речь и речи в текст. оба функционала.   -  person    schedule 24.08.2017


Ответы (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)
person CaglayanSerbetci    schedule 24.08.2017