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

一:简单说明

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

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

AVFoundation框架:

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

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

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

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

二:示例代码

 

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

 

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

 

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

posted @ 2016-07-28 17:13  时势  阅读(2024)  评论(0)    收藏  举报