使用AVSpeechSynthesizer,AVSpeechUtterance,AVSpeechSynthesisVoice实现语音播报功能


一:简单说明

在iOS7之前,想要实现语音播报文字内容,可能需要第三方资源库来实现。现在在iOS7上,系统为我们提供了语音播报文字的功能,我们不仅可以播报英语内容,也可以播报汉语文字

实现TTS主要依赖AVSpeechSynthesizer,AVSpeechUtterance,AVSpeechSynthesisVoice,要使用这些类必须先加入

AVFoundation框架:

AVSpeechSynthesisVoice:用来配置发音,支持的发音非常多.~通过调用

[AVSpeechSynthesisVoicespeechVoices]类方法可用看到支持的发音种类;

AVSpeechUtterance:这个类就是用来将字符串合成为语音对象提供给AVSpeechSynthesizer来播放,这个类还有一些

实例方法用来控制语速,音调等等。。

二:示例代码

 

 AVSpeechSynthesizer *speech=[[AVSpeechSynthesizer alloc]init];//创建语音播报对象

 

[speech speakUtterance:utterance]//开始播放

 

三:注意:在iOS7上运行能正常播放声音,而在iOS8上由于模拟器问题不能整成播放,在真机上才能正常播报


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM