AV Foundation(一)-AVSpeechSynthesizer、AVSpeechUtterance

一、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

你可能感兴趣的:(AV Foundation(一)-AVSpeechSynthesizer、AVSpeechUtterance)