码迷,mamicode.com
首页 > 移动开发 > 详细

iOS文字转语音播放

时间:2015-07-31 16:27:58      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:ios   语言   avspeechsynthesizer   文字转语音   播放   

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

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


持的语言种类包括:
"[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",

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

AVSpeechUtterance:这个类就是用来将字符串合成为语音对象提供给AVSpeechSynthesizer来播放,这个类还有一些实例方法用来控制语速,音调等等。

在storyBoard上添加了一个textView,点击屏幕时播放textView上的文字信息。

技术分享

实现代码:

<span style="font-size:14px;">#import "ViewController.h"
#import <AVFoundation/AVFoundation.h>

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextView *textViewOutlet;
@end

@implementation ViewController

- (void)viewDidLoad {
	[super viewDidLoad];
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
	AVSpeechSynthesizer *speechSynthesizer = [[AVSpeechSynthesizer alloc] init];
	AVSpeechSynthesisVoice *voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"zh-TW"];
	AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:_textViewOutlet.text];
	utterance.voice = voice;
	utterance.rate = AVSpeechUtteranceMinimumSpeechRate;
	[speechSynthesizer speakUtterance:utterance];
}

@end</span>

---end



版权声明:本文为博主原创文章,转载请注明来源:http://blog.csdn.net/zhangwenhai001

iOS文字转语音播放

标签:ios   语言   avspeechsynthesizer   文字转语音   播放   

原文地址:http://blog.csdn.net/zhangwenhai001/article/details/47169639

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!