使用ios7中的tts(text to speech)功能

转自:http://blog.csdn.net/xiaoyulong007/article/details/12779251
我自己的小项目里需要用到 text to speech功能,就是把文字用语音读出来。一开始想用讯飞的云语音,但是每次发音都需要和讯飞的服务器通讯才能获取到音频。上网闲逛的时候发现ios7 新添加了这个功能,不需要联网,语音合成功能在手机上完成,这样在没有wifi与流量的情况下也可以使用了,就拿来试用一下,官方文档在此: 苹果官方文档

使用非常简单,代码就这么几行:

[objc]  view plain copy
  1. AVSpeechUtterance *utterance = [AVSpeechUtterance  
  2.                                     speechUtteranceWithString:@"hello world"];  
  3.     AVSpeechSynthesizer *synth = [[AVSpeechSynthesizer alloc] init];  
  4.     [synth speakUtterance:utterance];  

执行以上代码,ios设备就会读出初始化 AVSpeechUtterance 对象时所用的 NSString 对象,以上代码读出的是“hello world”。

AVSpeechUtterance对象有一些属性,可以设置发出声音的效果:

使用ios7中的tts(text to speech)功能_第1张图片

可以修改速度、音量等。

我测试的时候发现读一个英文单词效果还可以,但是读好多词的英文句子的时候,上一个词还没读完,下一个词已经开始读了。也许还需要额外设置。

读中文的效果很好,是普通话发音,能读很长的句子,我试着读了一篇新闻,效果不错。

来自:http://blog.sina.com.cn/s/blog_923fdd9b0101flx3.html

你可能感兴趣的:(使用ios7中的tts(text to speech)功能)