iOS文字转语音

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”改为对应的语言即可。

你可能感兴趣的:(iOS文字转语音)