开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术
AR与VR
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
信息服务
智能园区

重要接口说明

重要接口说明

语音合成器

合成器,类名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 正在合成的句子序号
  • 返回

    无。

  • 说明

    合成器发生错误。

上一篇
集成指南
下一篇
参数和错误说明