开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
图像技术
文字识别
人脸与人体识别
视频技术
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 正在合成的句子序号
    • 返回

      无。

    • 说明

      合成器发生错误。

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