AVFoundation的文本到语音-NSSpeechSynthesizer

二、IOS- AVFoundation的文本到语音

1、NSSpeechSynthesizer

NSSpeechSynthesizer实例完成了文本到语音的工作。

2、NSSpeechUtterance

NSSpeechUtterance的实例是语音内容。

2.1、初始化

NSSpeechUtterance *utterance = [[NSSpeechUtterance alloc] initWithString:@"语音的内容"];

2.2、常用属性

2.2.1、rate(float)
语音内容播发的速率,该值介于AVSpeechUtteranceMinimumSpeechRate和AVSpeechUtteranceMaximumSpeechRate之间,及0.0到1.0之间。
2.2.2、pitchMultiplier(float)
语音内容播发的音调,该值一般介于0.5(低语调)和2.0(高音调)之间。
2.2.3、postUtteranceDelay(NSTimeInterval)
播放下一句语句之前的暂停时间。
2.2.4、voice(AVSpeechSynthesisVoice)
语音内容播发的语言。AVSpeechSynthesisVoice的一个实例,可以通过类方法 + ( nullable AVSpeechSynthesisVoice *)voiceWithLanguage:( nullable NSString *)languageCode;获取语音实例,可以通过类方法 + ( NSArray < AVSpeechSynthesisVoice *> *)speechVoices;获取所支持语言类型。

3、将NSSpeechUtterance添加到NSSpeechSynthesizer

NSSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizeralloc] init];

AVSpeechUtterance *utterance =  [[AVSpeechUtterancealloc] initWithString:self.speechStrings[i]];

utterance.voice[AVSpeechSynthesisVoicevoiceWithLanguage:@"en-US"];

utterance.rate =0.5f;

utterance.pitchMultiplier =0.8f;

utterance.postUtteranceDelay =0.1f;

[synthesizer speakUtterance:utterance];







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值