语音播报-文字转系统声音

一段文字,让系统用语音播出,使用AVFoundation框架下的AVSpeechSynthesizer即可,非常简单。

步骤1,导入AVFoundation框架:

1 import AVFoundation

步骤2,创建语音合成器:

1     /// 语音合成器
2     private lazy var speechSynthesizer:AVSpeechSynthesizer = {
3         let speech = AVSpeechSynthesizer()
4         return speech
5     }()

步骤3,播放语音:

 1     /// 语音播报方法
 2     ///
 3     /// - Parameter text: 文本内容
 4     private func playVoiceWithText(text:String){
 5         
 6         // 停止之前没有播放完的声音(防止:语音过长,上次没有播放完)
 7         // immediate:立刻
 8         // word:播放完上次,再播放这次
 9         speechSynthesizer.stopSpeaking(at: .immediate)
10         
11         // 实例化语言 - 默认朗读英文
12         let speechUtterance = AVSpeechUtterance(string: text)
13         
14         // 指定播放语言
15         let voice = AVSpeechSynthesisVoice(language: "zh-CN")
16         speechUtterance.voice = voice
17         
18         // 播报
19         speechSynthesizer.speak(speechUtterance)
20     }

 

转载于:https://www.cnblogs.com/panda1024/p/6241234.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部