文本转语音不起作用,使用语音转文本获取文本时
Text to speech not working , When getting text using speech to text
对于语音转文本 - 我使用了 "Speech Framework" 并使用此 link 创建了演示。
但是收到短信后,我想说文本字段文本。
var synth = AVSpeechSynthesizer()
var myUtterance = AVSpeechUtterance(string: textfield.text)
myUtterance.rate = 0.3
synth.speak(myUtterance)
但上面的代码不起作用。
在这里,我附上了演示项目 link : 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)
对于语音转文本 - 我使用了 "Speech Framework" 并使用此 link 创建了演示。 但是收到短信后,我想说文本字段文本。
var synth = AVSpeechSynthesizer()
var myUtterance = AVSpeechUtterance(string: textfield.text)
myUtterance.rate = 0.3
synth.speak(myUtterance)
但上面的代码不起作用。 在这里,我附上了演示项目 link : 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)