iOS文字转语音播放

实现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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值