重要接口说明

语音合成器

合成器,类名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 需要语音合成的文本
err 如果失败, 返回错误信息
  • 返回

    SDK生成的文本ID,-1代表合成失败,错误信息详见err。

  • 说明

    批量开始文本合成但不朗读或添加文本至当前合成过程。

批量开始文本合成并朗读或添加文本至当前合成过程

  • 方法
(NSInteger) speakSentence:(NSString*)sentence withError:(NSError**)err;
  • 参数
参数 含义
sentence 需要语音合成的文本
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 正在合成的句子序号
  • 返回

    无。

  • 说明

    合成器发生错误。