一、AVSpeechSynthesizer
AVSpeechSynthesizer(语音合成器)类,可以在应用程序中添加“文本到语音”功能,这个类可以用来播放一个或者多个语音内容,这些语音内容都是名为AVSpeechUtterance类的实例。
例如,播放“Hello world!”,具体实现代码如下所示:
AVSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizer alloc] init];
AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc] initWithString:@"Hello world!"];
[synthesizer speakUtterance:utterance];
AVSpeechSynthesizer类对语音播放起到了队列的作用,提供了接口控制和监视正在进行的语音播放。
二、AVSpeechUtterance
AVSpeechUtterance类,将字符串实例化为语音播放的实例。
@property(nonatomic, retain, nullable) AVSpeechSynthesisVoice *voice; // 语音类型
@property(nonatomic) float rate; // 语音的播放速度
@property(nonatomic) float pitchMultiplier; // 声音的音调
@property(nonatomic) float volume; // 音量0~1,默认是1
@property(nonatomic) NSTimeInterval preUtteranceDelay; // 语音合成器(synthesizer)播放本语句前的暂停时间
@property(nonatomic) NSTimeInterval postUtteranceDelay; // 语音合成器(synthesizer)播放下一语句的暂停时间
示例工程:AVFoundation_01
网友评论