在Swift中,可以使用AVSpeechSynthesizer进行文本到语音的转换,我们可以通过设置AVSpeechUtterance的voice属性来指定朗读的语言和口音。
要确保朗读的是粤语,我们应该使用一个特定的语言代码 “zh-Hant-HK”
以下是实现代码:
import AVFoundation //引入语音支持包
let synthesizer = AVSpeechSynthesizer() //最好是作为全局调用
// 创建一个AVSpeechUtterance实例,并设置要朗读的文本
let utterance = AVSpeechUtterance(string: textTospeak) // 这里传入你定义的粤语字符串textTospeak
utterance.voice = AVSpeechSynthesisVoice(language: “zh-Hant-HK“) // 设置粤语语音,注意不是zh-Hant-cn
// 使用AVSpeechSynthesizer朗读文本
synthesizer.speak(utterance)
通过这种方式, 可以得到粤语的朗读效果。另外AVSpeechSynthesizer的粤语支持可能依赖于设备安装的语音包。如果设备上没有安装粤语语音包,那么即使指定了”zh-Hant-HK”,朗读也可能会使用普通话。
最好是在手机设置语言里添加支持粤语,再尝试以上的代码。确保手机支持粤语语音包,并且在设置中已经启用。如果设备不支持粤语,那么即使代码正确,朗读仍然会是普通话或其他可用的语言。
ios swift 开发系列–如何朗读粤语文字