这里介绍的是iOS API关于语音合成(Synthesizer)的相关说明,点击右侧目录可快速找到相应文件。
IFlySpeechSynthesizer Class Reference
Inherits from: NSObject
Declared in: IFlySpeechSynthesizer.h
语音合成
设置识别的委托对象
@property (nonatomic, assign) id<IFlySpeechSynthesizerDelegate> delegate
Declared In
IFlySpeechSynthesizer.h
返回合成对象的单例
+ (instancetype)sharedInstance
Return Value
合成对象
Declared In
IFlySpeechSynthesizer.h
销毁合成对象。
+ (BOOL)destroy
Return Value
成功返回YES,失败返回NO.
Declared In
IFlySpeechSynthesizer.h
设置合成参数
- (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
获取合成参数
- (NSString *)parameterForKey:(NSString *)key
Parameters:
| key | 参数key |
|---|
Return Value
参数值
Declared In
IFlySpeechSynthesizer.h
开始合成(播放) 调用此函数进行合成,如果发生错误会回调错误onCompleted
- (void)startSpeaking:(NSString *)text
Parameters
| text | 合成的文本,最大的字节数为1k |
|---|
Declared In
IFlySpeechSynthesizer.h
开始合成(不播放)
调用此函数进行合成,如果发生错误会回调错误onCompleted
- (void)synthesize:(NSString *)text toUri:(NSString *)uri
Parameters
| text | 合成的文本,最大的字节数为1k |
|---|---|
| uri | 合成后,保存再本地的音频路径 |
Declared In
IFlySpeechSynthesizer.h
暂停播放
暂停播放之后,合成不会暂停,仍会继续,如果发生错误则会回调错误onCompleted
- (void)pauseSpeaking
Declared In
IFlySpeechSynthesizer.h
恢复播放
- (void)resumeSpeaking
Declared In
IFlySpeechSynthesizer.h
停止播放并停止合成
- (void)stopSpeaking
Declared In
IFlySpeechSynthesizer.h
是否正在播放
@property (nonatomic, readonly) BOOL isSpeaking
Declared In IFlySpeechSynthesizer.h
| Conforms to | NSObject |
|---|---|
| Declared in | IFlySpeechSynthesizerDelegate.h |
语音合成回调
– onCompleted: required method 结束回调 当整个合成结束之后会回调此函数
- (void)onCompleted:(IFlySpeechError *)error
Parameters
| error | 错误码 |
|---|
Declared In
IFlySpeechSynthesizerDelegate.h
开始合成回调
- (void)onSpeakBegin
Declared In
IFlySpeechSynthesizerDelegate.h
缓冲进度回调
- (void)onBufferProgress:(int)progress message:(NSString *)msg
Parameters
| progress | 缓冲进度,0-100 |
|---|---|
| msg | 附件信息,此版本为nil |
Declared In
IFlySpeechSynthesizerDelegate.h
播放进度回调
- (void)onSpeakProgress:(int)progress beginPos:(int)beginPos endPos:(int)endPos
Parameters
| progress | 当前播放进度,0-100 |
|---|---|
| beginPos | 当前播放文本的起始位置(按照字节计算),对于汉字(2字节)需/2处理 |
| endPos | 当前播放文本的结束位置(按照字节计算),对于汉字(2字节)需/2处理 |
Declared In
IFlySpeechSynthesizerDelegate.h
暂停播放回调
- (void)onSpeakPaused
Declared In
IFlySpeechSynthesizerDelegate.h
恢复播放回调
注意:此回调方法SDK内部不执行,播放恢复全部在onSpeakBegin中执行
- (void)onSpeakResumed
Declared In
IFlySpeechSynthesizerDelegate.h
正在取消回调
注意:此回调方法SDK内部不执行
- (void)onSpeakCancel
Declared In
IFlySpeechSynthesizerDelegate.h
扩展事件回调
根据事件类型返回额外的数据
- (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