重要接口说明
语音合成器
合成器,类名BDSSpeechSynthesizer,主要用来控制合成进程:设置参数,开始,结束,取消等。
获取合成器唯一实例
- 方法
(BDSSpeechSynthesizer*)sharedInstance;
-
参数
无。
-
返回
语音合成引擎实例。
-
说明
获取语音合成引擎实例,该实例为单例对象。
释放合成器唯一实例
- 方法
(void)releaseInstance;
-
参数
无。
-
返回
无。
-
说明
释放语音合成器实例。
设置合成器代理
- 方法
(void)setSynthesizerDelegate: (id<BDSSpeechSynthesizerDelegate>)delegate;
- 参数
参数 | 含义 |
---|---|
delegate | 代理对象 |
-
返回
无。
-
说明
设置合成器代理,代理对象负责处理合成器各类事件。
设置合成参数
- 方法
(NSError*)setSynthParam:(id)param forKey:(BDSSynthesizerParamKey)key;
- 参数
参数 | 含义 |
---|---|
param | 参数值 |
key | 参数键 |
-
返回
nil或错误信息。
-
说明
设置合成参数。
获取合成参数
- 方法
(id)getSynthParamforKey:(BDSSynthesizerParamKey)key withError:(NSError**)err;
- 参数
参数 | 含义 |
---|---|
key | 参数键 |
err | 如果失败, 返回错误信息 |
-
返回
参数值。
-
说明
获取合成参数。
设置认证信息
- 方法
(void)setApiKey:(NSString *)apiKey withSecretKey:(NSString *)secretKey;
- 参数
参数 | 含义 |
---|---|
apiKey | 用户从语音官网申请的apiKey |
secretKey | 用户从语音官网申请的secretKey |
-
返回
无。
-
说明
设置认证信息。
设置回调队列
- 方法
(NSError*)setSDKCallbackQueue:(dispatch_queue_t)callbackQueue;
- 参数
参数 | 含义 |
---|---|
callbackQueue | 回调队列 |
-
返回
nil或错误信息。
-
说明
设置回调队列。
获得当前回调队列
- 方法
(dispatch_queue_t)getCurrentCallbackQueue;
-
参数
无。
-
返回
回调队列。
-
说明
获得当前回调队列。
设置合成线程优先级
- 方法
(void)setThreadPriority:(double)priority;
- 参数
参数 | 含义 |
---|---|
priority | 优先级 |
-
返回
无。
-
说明
设置合成线程优先级。
启动合成引擎
- 方法
(NSError*)loadOfflineEngine: (NSString*)textDatFilePath
speechDataPath: (NSString*)speechDatFilePath
licenseFilePath: (NSString*)licenseFilePath
withAppCode: (NSString*)appCode;
- 参数
参数 | 含义 |
---|---|
textDatFilePath | 中文文本分析数据文件路径 |
speechDataPath | 中文声学模型数据文件路径 |
licenseFilePath | 授权文件路径,如果没有本地授权可传入nil |
appCode | 用户持有的授权app code |
-
返回
nil或错误信息。
-
说明
启动合成引擎。
加载英文合成数据文件及模型文件
- 方法
-(NSError*)loadEnglishDataForOfflineEngine: (NSString*)textDataPath
speechData: (NSString*)speechDataPath;
- 参数
参数 | 含义 |
---|---|
textDataPath | 英文文本分析数据文件路径 |
speechDataPath | 英文声学模型数据文件路径 |
-
返回
nil或错误信息。
-
说明
加载英文合成数据文件及模型文件。
重新加载文本分析数据文件或者声学模型数据文件
- 方法
(NSError*)reinitOfflineEngineData: (NSString*)datFilePath;
- 参数
参数 | 含义 |
---|---|
datFilePath | 数据文件路径 |
-
返回
nil或错误信息。
-
说明
重新加载文本分析数据文件或者声学模型数据文件。
加载定制库
- 方法
(NSError*)loadDomainDataForOfflineEngine:(NSString*)datFilePath;
- 参数
参数 | 含义 |
---|---|
datFilePath | 数据文件路径 |
-
返回
nil或错误信息。
-
说明
加载定制库。
卸载定制库
- 方法
(NSError*)unloadDomainDataFromOfflineEngine;
-
参数
无。
-
返回
nil或错误信息。
-
说明
卸载定制库。
验证音库文件的有效性
- 方法
(BOOL)verifyDataFile: (NSString*) datFilePath error:(NSError**)err;
- 参数
参数 | 含义 |
---|---|
datFilePath | 数据文件路径 |
err | 如果验证失败,返回错误信息 |
-
返回
验证成功返回YES,验证失败返回NO。
-
说明
验证音库文件的有效性。
获取音库文件相关参数
- 方法
(BOOL)getDataFileParam: (NSString*)datFilePath
type: (TTSDataParam)paramType
value: (NSString**)paramValue
error: (NSError**)err;
- 参数
参数 | 含义 |
---|---|
datFilePath | 数据文件路径 |
paramType | 参数键 |
paramValue | 传出对应参数的值 |
err | 如果失败, 返回错误信息 |
-
返回
成功返回YES,失败返回NO。
-
说明
获取音库文件相关参数。
批量开始文本合成但不朗读或添加文本至当前合成过程
- 方法
(NSInteger)synthesizeSentence:(NSString*)sentence withError:(NSError**)err;
- 参数
参数 | 含义 |
---|---|
sentence | 需要语音合成的文本,不超过120的GBK字节,即60个汉字或英文字母数字。超过请自行按照句号问号等标点切分 |
err | 如果失败, 返回错误信息 |
-
返回
SDK生成的文本ID,-1代表合成失败,错误信息详见err。
-
说明
批量开始文本合成但不朗读或添加文本至当前合成过程。
批量开始文本合成并朗读或添加文本至当前合成过程
- 方法
(NSInteger) speakSentence:(NSString*)sentence withError:(NSError**)err;
- 参数
参数 | 含义 |
---|---|
sentence | 需要语音合成的文本,不超过120的GBK字节,即60个汉字或英文字母数字。超过请自行按照句号问号等标点切分 |
err | 如果失败, 返回错误信息 |
-
返回
SDK生成的文本ID,-1代表合成失败,错误信息详见err。
-
说明
批量开始文本合成并朗读或添加文本至当前合成过程。
取消本次合成并停止朗读
- 方法
(void)cancel;
-
参数
无。
-
返回
无。
-
说明
取消本次合成并停止朗读。
暂停文本合成并朗读
- 方法
(BDSSynthesizerStatus)pause;
-
参数
无。
-
返回
合成状态。
-
说明
暂停文本合成并朗读。
继续文本合成并朗读
- 方法
(BDSSynthesizerStatus)resume;
-
参数
无。
-
返回
合成状态。
-
说明
继续文本合成并朗读。
获取合成器状态
- 方法
(BDSSynthesizerStatus)synthesizerStatus;
- 参数 无。
-
返回
合成状态。
-
说明
获取合成器状态。
设置播放器音量
- 方法
(void)setPlayerVolume:(float)volume;
- 参数
参数 | 含义 |
---|---|
volume | 音量值 |
-
返回
无。
-
说明
设置播放器音量。
设置AudioSessionCategory类型
- 方法
(void)setAudioSessionCategory:(NSString *)category;
- 参数
参数 | 含义 |
---|---|
category | AudioSessionCategory类型 |
-
返回
无。
-
说明
设置AudioSessionCategory类型。
语音合成器委托对象
语音合成器委托对象BDSSpeechSynthesizerDelegate,用来处理语音合成器的各种回调。
开始合成
- 方法
(void)synthesizerStartWorkingSentence:(NSInteger)SynthesizeSentence;
- 参数
参数 | 含义 |
---|---|
SynthesizeSentence | 句子序号 |
-
返回
无。
-
说明
开始合成。
结束合成
- 方法
(void)synthesizerFinishWorkingSentence:(NSInteger)SynthesizeSentence;
- 参数
参数 | 含义 |
---|---|
SynthesizeSentence | 句子序号 |
-
返回
无。
-
说明
结束合成。
开始朗读
- 方法
(void)synthesizerSpeechStartSentence:(NSInteger)SpeakSentence;
- 参数
参数 | 含义 |
---|---|
SpeakSentence | 句子序号 |
-
返回
无。
-
说明
开始朗读。
结束朗读
- 方法
(void)synthesizerSpeechEndSentence:(NSInteger)SpeakSentence;
- 参数
参数 | 含义 |
---|---|
SpeakSentence | 句子序号 |
-
返回
无。
-
说明
结束朗读。
新的语音数据已经合成
- 方法
(void)synthesizerNewDataArrived:(NSData *)newData
DataFormat:(BDSAudioFormat)fmt
characterCount:(int)newLength
sentenceNumber:(NSInteger)SynthesizeSentence;
- 参数
参数 | 含义 |
---|---|
newData | 语音数据 |
DataFormat | 音频格式 |
newLength | 语音数据长度 |
SynthesizeSentence | 句子序号 |
-
返回
无。
-
说明
新的语音数据已经合成。
播放进度变更
- 方法
(void)synthesizerTextSpeakLengthChanged:(int)newLength
sentenceNumber:(NSInteger)SpeakSentence;
- 参数
参数 | 含义 |
---|---|
newLength | 语音数据长度 |
SpeakSentence | 句子序号 |
-
返回
无。
-
说明
播放进度变更。
合成器发生错误
- 方法
(void)synthesizerErrorOccurred:(NSError *)error
speaking:(NSInteger)SpeakSentence
synthesizing:(NSInteger)SynthesizeSentence;
- 参数
参数 | 含义 |
---|---|
error | 错误码 |
SpeakSentence | 正在播放的句子序号 |
SynthesizeSentence | 正在合成的句子序号 |
-
返回
无。
-
说明
合成器发生错误。