Текст в речь не работает, При получении текста с использованием речи в текст
Для 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)