iOS7以后提供了AVSpeechSynthesizer
這個(gè)類來(lái)實(shí)現(xiàn)文字轉(zhuǎn)語(yǔ)音的功能惶看,要想使用這個(gè)類者铜,首先要導(dǎo)入AVFoundation.framework
這個(gè)框架窃判,至于使用方法話不多說(shuō)斜姥,直接上代碼:
//創(chuàng)建語(yǔ)音合成器
let synchronizer = AVSpeechSynthesizer()
//創(chuàng)建說(shuō)話方式惑惶。說(shuō)話方式可以傳遞到語(yǔ)音合成器來(lái)生成一段語(yǔ)音流
let utterance = AVSpeechUtterance(string: "你是誰(shuí)")
//創(chuàng)建嗓音设塔,如果嗓音不存在則返回nil
let voiceType = AVSpeechSynthesisVoice(language: "zh-CN")
//設(shè)置說(shuō)話方式的嗓音
utterance.voice = voiceType
//設(shè)置說(shuō)話的速率
utterance.rate = 0.5
//將說(shuō)話方式放入語(yǔ)音合成器
synchronizer.speakUtterance(utterance)
通過上面幾行代碼就可以實(shí)現(xiàn)將“你是誰(shuí)”這段文字轉(zhuǎn)為中文語(yǔ)音輸出凄吏,當(dāng)然還可以轉(zhuǎn)為其他語(yǔ)言。通過以下方法闰蛔,可以遍歷支持轉(zhuǎn)化的所有語(yǔ)言:
//遍歷輸出支持的語(yǔ)言
for voice in AVSpeechSynthesisVoice.speechVoices() {
print(voice.language)
}
只需將AVSpeechSynthesisVoice(language: "zh-CN")
里面的“zh-CN”改為對(duì)應(yīng)的語(yǔ)言即可痕钢。