iOS 语音合成(Synthesizer)

这里介绍的是iOS API关于语音合成(Synthesizer)的相关说明,点击右侧目录可快速找到相应文件。

类IFlySpeechSynthesizer

IFlySpeechSynthesizer Class Reference

Inherits from: NSObject
Declared in: IFlySpeechSynthesizer.h

简介

语音合成

方法

delegate

设置识别的委托对象

@property (nonatomic, assign) id<IFlySpeechSynthesizerDelegate> delegate

Declared In
IFlySpeechSynthesizer.h

sharedInstance

返回合成对象的单例

+ (instancetype)sharedInstance

Return Value
合成对象

Declared In
IFlySpeechSynthesizer.h

destroy

销毁合成对象。

+ (BOOL)destroy

Return Value
成功返回YES,失败返回NO.

Declared In
IFlySpeechSynthesizer.h

setParameter:forKey:

设置合成参数

- (BOOL)setParameter:(NSString *)value forKey:(NSString *)key

Parameters

value 参数取值
key 合成参数

Return Value
设置成功返回YES,失败返回NO

Discussion

参数 描述
speed 合成语速,取值范围 0~100
volume 合成的音量,取值范围 0~100
voice_name 默认为”xiaoyan”;可以设置的参数列表可参考个性化发音人列表
sample_rate 采样率:目前支持的采样率设置有 16000 和 8000(高品质离线合成暂不支持)。
tts_audio_path 音频文件名 设置此参数后,将会自动保存合成的音频文件。
路径为Documents/(指定值)。不设置或者设置为nil,则不保存音频。
params 扩展参数: 对于一些特殊的参数可在此设置。

Declared In
IFlySpeechSynthesizer.h

parameterForKey:

获取合成参数

- (NSString *)parameterForKey:(NSString *)key

Parameters:

key 参数key

Return Value
参数值

Declared In
IFlySpeechSynthesizer.h

startSpeaking:

开始合成(播放) 调用此函数进行合成,如果发生错误会回调错误onCompleted

- (void)startSpeaking:(NSString *)text

Parameters

text 合成的文本

Declared In
IFlySpeechSynthesizer.h

synthesize:toUri:

开始合成(不播放)
调用此函数进行合成,如果发生错误会回调错误onCompleted

- (void)synthesize:(NSString *)text toUri:(NSString *)uri

Parameters

text 合成的文本
uri 合成后,保存再本地的音频路径

Declared In
IFlySpeechSynthesizer.h

pauseSpeaking

暂停播放
暂停播放之后,合成不会暂停,仍会继续,如果发生错误则会回调错误onCompleted

- (void)pauseSpeaking

Declared In
IFlySpeechSynthesizer.h

resumeSpeaking

恢复播放

- (void)resumeSpeaking

Declared In
IFlySpeechSynthesizer.h

stopSpeaking

停止播放并停止合成

- (void)stopSpeaking

Declared In
IFlySpeechSynthesizer.h

isSpeaking

是否正在播放

@property (nonatomic, readonly) BOOL isSpeaking

Declared In IFlySpeechSynthesizer.h

协议IFlySpeechSynthesizerDelegate

Conforms to NSObject
Declared in IFlySpeechSynthesizerDelegate.h

语音合成回调

– onCompleted: required method 结束回调 当整个合成结束之后会回调此函数

- (void)onCompleted:(IFlySpeechError *)error

Parameters

error 错误码

Declared In
IFlySpeechSynthesizerDelegate.h

– onSpeakBegin

开始合成回调

- (void)onSpeakBegin

Declared In
IFlySpeechSynthesizerDelegate.h

– onBufferProgress:message:

缓冲进度回调

- (void)onBufferProgress:(int)progress message:(NSString *)msg

Parameters

progress 缓冲进度,0-100
msg 附件信息,此版本为nil

Declared In
IFlySpeechSynthesizerDelegate.h

– onSpeakProgress:beginPos:endPos:

播放进度回调

- (void)onSpeakProgress:(int)progress beginPos:(int)beginPos endPos:(int)endPos

Parameters

progress 当前播放进度,0-100
beginPos 当前播放文本的起始位置(按照字节计算),对于汉字(2字节)需/2处理
endPos 当前播放文本的结束位置(按照字节计算),对于汉字(2字节)需/2处理

Declared In
IFlySpeechSynthesizerDelegate.h

– onSpeakPaused

暂停播放回调

- (void)onSpeakPaused

Declared In
IFlySpeechSynthesizerDelegate.h

– onSpeakResumed

恢复播放回调
注意:此回调方法SDK内部不执行,播放恢复全部在onSpeakBegin中执行

- (void)onSpeakResumed

Declared In
IFlySpeechSynthesizerDelegate.h

– onSpeakCancel

正在取消回调
注意:此回调方法SDK内部不执行

- (void)onSpeakCancel

Declared In
IFlySpeechSynthesizerDelegate.h

– onEvent:arg0:arg1:data:

扩展事件回调
根据事件类型返回额外的数据

- (void)onEvent:(int)eventType arg0:(int)arg0 arg1:(int)arg1 data:(NSData *)eventData

Parameters

eventType 事件类型,具体参见IFlySpeechEventType枚举。目前只支持EVENT_TTS_BUFFER也就是实时返回合成音频。
arg0 arg0
arg1 arg1
eventData 事件数据

Declared In
IFlySpeechSynthesizerDelegate.h