简言:文本转语音是从iOS7之后就自带的功能,如果对语音没有特殊的要求,自带的用起来还是不错的
一:TTS主要类
需要导入AVFoundation
AVSpeechSynthesizer: 语音合成器
AVSpeechUtterance:声音
AVSpeechSynthesisVoice:话语
二:示例代码
三:队列管理
AVSpeechSynthesizer本身就是一个队列管理器,全局属性来管理,还可以暂停,继续
说话: speakUtterance
控制: continueSpeaking(继续说), pauseSpeakingAtBoundary(暂停说话), paused(暂停状态的属性), speaking(说话的状态), stopSpeakingAtBoundary(停止说话)
委托: delegate
但是本身队列在并发播报的时候如果没有特殊设置可能会丢失某也话语,如果想更好的队列管理可以这样,speechArr为数组,把每条话语都加入数组,然后逐条播报,播报完成移除数组
四:问题
目前遇到偶尔会有男生播报的问题,但是设置的中文发音,不知道哪位大神有遇到过没,怎么处理的,谢谢!