iOS7以后提供了AVSpeechSynthesizer
這個類來實現文字轉語音的功能,要想使用這個類,首先要導入AVFoundation.framework
這個框架,至于使用方法話不多說,直接上代碼:
//創建語音合成器
let synchronizer = AVSpeechSynthesizer()
//創建說話方式。說話方式可以傳遞到語音合成器來生成一段語音流
let utterance = AVSpeechUtterance(string: "你是誰")
//創建嗓音,如果嗓音不存在則返回nil
let voiceType = AVSpeechSynthesisVoice(language: "zh-CN")
//設置說話方式的嗓音
utterance.voice = voiceType
//設置說話的速率
utterance.rate = 0.5
//將說話方式放入語音合成器
synchronizer.speakUtterance(utterance)
通過上面幾行代碼就可以實現將“你是誰”這段文字轉為中文語音輸出,當然還可以轉為其他語言。通過以下方法,可以遍歷支持轉化的所有語言:
//遍歷輸出支持的語言
for voice in AVSpeechSynthesisVoice.speechVoices() {
print(voice.language)
}
只需將AVSpeechSynthesisVoice(language: "zh-CN")
里面的“zh-CN”改為對應的語言即可。