AVSpeechSynthesizer详解

介绍

       从IOS5开始,IOS系统已经在siri上集成了语音合成的功能,但是是私有API。但是在IOS7,新增了一个简单的API----AVSpeechSynthesizer来做这件事情。

案例

      #import<AVFoundation/AVFoundation.h>

- (IBAction)buttonClick {

AVSpeechSynthesizer * synthsizer = [[AVSpeechSynthesizer alloc] init];

AVSpeechUtterance * utterance = [[AVSpeechUtterance alloc] initWithString:@"aosika先生"];//需要转换的文本

utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"zh-CN"];//国家语言

utterance.rate = 0.4f;//声速

[synthsizer speakUtterance:utterance];

}

语言类别

IOS7包含了一组可以用来合成的声音的嗓音,你可以自定义多种嗓音来合成。

"[AVSpeechSynthesisVoice 0x978a0b0] Language: th-TH",

"[AVSpeechSynthesisVoice 0x977a450] Language: pt-BR",

"[AVSpeechSynthesisVoice 0x977a480] Language: sk-SK",

"[AVSpeechSynthesisVoice 0x978ad50] Language: fr-CA",

"[AVSpeechSynthesisVoice 0x978ada0] Language: ro-RO",

"[AVSpeechSynthesisVoice 0x97823f0] Language: no-NO",

"[AVSpeechSynthesisVoice 0x978e7b0] Language: fi-FI",

"[AVSpeechSynthesisVoice 0x978af50] Language: pl-PL",

"[AVSpeechSynthesisVoice 0x978afa0] Language: de-DE",

"[AVSpeechSynthesisVoice 0x978e390] Language: nl-NL",

"[AVSpeechSynthesisVoice 0x978b030] Language: id-ID",

"[AVSpeechSynthesisVoice 0x978b080] Language: tr-TR",

"[AVSpeechSynthesisVoice 0x978b0d0] Language: it-IT",

"[AVSpeechSynthesisVoice 0x978b120] Language: pt-PT",

"[AVSpeechSynthesisVoice 0x978b170] Language: fr-FR",

"[AVSpeechSynthesisVoice 0x978b1c0] Language: ru-RU",

"[AVSpeechSynthesisVoice 0x978b210]Language: es-MX",

"[AVSpeechSynthesisVoice 0x978b2d0] Language: zh-HK",

"[AVSpeechSynthesisVoice 0x978b320] Language: sv-SE",

"[AVSpeechSynthesisVoice 0x978b010] Language: hu-HU",

"[AVSpeechSynthesisVoice 0x978b440] Language: zh-TW",

"[AVSpeechSynthesisVoice 0x978b490] Language: es-ES",

"[AVSpeechSynthesisVoice 0x978b4e0] Language: zh-CN",汉语

"[AVSpeechSynthesisVoice 0x978b530] Language: nl-BE",

"[AVSpeechSynthesisVoice 0x978b580] Language: en-GB",

"[AVSpeechSynthesisVoice 0x978b5d0] Language: ar-SA",

"[AVSpeechSynthesisVoice 0x978b620] Language: ko-KR",

"[AVSpeechSynthesisVoice 0x978b670] Language: cs-CZ",

"[AVSpeechSynthesisVoice 0x978b6c0] Language: en-ZA",

"[AVSpeechSynthesisVoice 0x978aed0] Language: en-AU",

"[AVSpeechSynthesisVoice 0x978af20] Language: da-DK",

"[AVSpeechSynthesisVoice 0x978b810] Language: en-US",

"[AVSpeechSynthesisVoice 0x978b860] Language: en-IE",

"[AVSpeechSynthesisVoice 0x978b8b0] Language: hi-IN",

"[AVSpeechSynthesisVoice 0x978b900] Language: el-GR",

"[AVSpeechSynthesisVoice 0x978b950] Language: ja-JP"

总结

语音合成器非常简单,多语言方便使用,可以提高应用的访问性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家编码语言编码货币符号货币编码 =============currentLocale==============...
    我是小胡胡123阅读 1,882评论 0 0
  • 如果您是来找前端国际化解决方案的 那么我推荐一篇https://github.com/OneWayTech/i1...
    江火渔枫阅读 16,138评论 0 5
  • 注:原生的语音播报功能是在7.0以后才出现的,在使用时要注意判断当前版本号。 一、实现语音播报相关方法 1、在使用...
    ninazhang阅读 3,303评论 2 2
  • 一些小的功能点,虽然很小,但是里面有些弯,值得注意。(同系列文章会持续更新.......) 1.tableHead...
    進无尽阅读 493评论 0 3
  • 前言 之前自己的项目中曾经使用过讯飞的文字转语音技术,但是通过实际测试,发现它的免费在线转语音不是很好,受网络...
    孤独雪域阅读 20,592评论 25 55