365bet注册开户- 首页

logo
产品简介 产品简介
基本概念 基本概念
平台新手指引 平台新手指引
计价模式 计价模式
开发者文档下拉
开放平台计价
定制服务计价
获取访问令牌 获取访问令牌
语音合成 语音合成
开发者文档下拉
接口说明
发音人列表
在线合成 开发者文档下拉
Android SDK
iOS SDK
C++(Linux) SDK
RESTful API
Websocket API
长文本语音合成API
离线合成 开发者文档下拉
离线合成 Android SDK
离线合成 iOS SDK
XML标签
语音识别 语音识别
开发者文档下拉
音频格式说明
一句话识别 开发者文档下拉
RESTful API
Websocket API
Android SDK
iOS SDK
实时长语音识别 开发者文档下拉
Websocket API
Android SDK
iOS SDK
录音文件识别 开发者文档下拉
RESTful API
声音复刻 声音复刻
开发者文档下拉
定制模型 开发者文档下拉
RESTful API
Android SDK
iOS SDK
定制声音合成 开发者文档下拉
RESTful API
声音转换 声音转换
开发者文档下拉
发音人列表
Websocket API
Android SDK
iOS SDK
声纹识别 声纹识别
开发者文档下拉
RESTful API
协议规则 协议规则
开发者文档下拉
平台服务协议
平台通用规则
法律声明及隐私政策
服务等级协议SLA
常见问题 常见问题
开发者文档下拉
语音合成
语音识别

在线合成iOS SDK

下载安装

SDK及示例demo下载地址: https://github.com/data-baker/BakerIosSdkDemo

系统: iOS 9.0 以上;

架构: arm 64 ,i386

XCode集成Framework(参考demo)

    • Pod 方式集成:

      Pod ‘DBAudioSDK/DBOnlineTTSKit ‘ ,’xxx’ ; ‘xxx’是SDK的版本号;
    • 手动导入资源文件,资源目录如下图,具体可参照demo
  • 在viewController中引用SDK的头文件
    #import ”DBSynthesizerManager.h“// 合成器的头文件
  • 实例化DBSynthesizerManager

    实例化DBSynthesizerManager对象,设置授权信息:a.公有化设置clientId和clientSecret;b.私有化设置url;具体可参考demo;

    备注:本sdk提供两种功能,1:处理在线合成的功能,称为合成功能;2.处理在线合成+播放器功能,称为合成播放功能;

  • 设置回调代理对象
    // 1.合成功能回调
    _synthesizerManager.delegate = self;
    // 2.合成播放功能
    _synthesizerManager.playerDelegate = self;
    

SDK关键类

  • DBSynthesizerManager.h:语音合成关键业务处理类,需要注册自己为该类的回调对象;
  • DBSynthesizerManagerDelegate:为DBSynthesizerManager的回调协议;
  • DBSynthesisPlayerDelegate:为播放器的合成回调协议,需要播放功能的需要遵守该协议;
  • DBSynthesizerRequestParam.h:设置合成需要的相关参数,按照如下的接口文档设置即可;
  • DBFailureModel.h:请求异常的回调类,包含错误码,错误信息,和错误的trace_id;
  • DBTTSEnumerate.h:sdk全局的错误枚举类;

调用说明

  • 初始化DBSynthesizerManager类,得到DBSynthesizerManager的实例。
  • 设置DBSynthesizerRequestParam合成参数,包括必填参数和非必填参数;
  • 调用[DBSynthesizerManager startPlayNeedSpeaker:YES]方法开始与云端 服务连接,如果设置为NO仅调用合成功能;
  • 在业务完全处理完毕,或者页面关闭时,调[self.synthesizerManager cancel]结束服务,释放资源;
  • 播放器相关属性;
  • /// 合成播放器的回调
    @property(nonatomic,weak)id  delegate;
    /// 当前的播放进度
    @property(nonatomic,assign,readonly)NSInteger currentPlayPosition;
    /// 音频总长度
    @property(nonatomic,assign,readonly)NSInteger audioLength;
    /// 当前的播放状态
    @property(nonatomic,assign,readonly,getter=isPlayerPlaying)BOOL playerPlaying;
    

参数说明

基本参数说明:

参数 参数名称 是否必填 说明
clientId clientId 初始化sdk的clientId
clientSecret clientSecret 初始化sdk的clientSecret
setText 合成文本 设置要转为语音的合成文本
setDelegate 数据回调方法 DBSynthesizerDelegate:合成器回调
setPlayerDelegate 播放回调方法 DBSynthesisPlayerDelegate播放器回调
setVoice 发音人 设置发音人声音名称,默认:标准合成_模仿儿童_果子
setLanguage 合并文本语言类型 合成请求文本的语言,目前支持ZH(中文和中英混)和ENG(纯英文,中文部分不会合成),默认:ZH
setSpeed 语速 设置播放的语速,在0~9之间(支持浮点值),不传时默认为5
setVolume 音量 设置语音的音量,在0~9之间(只支持整型值),不传时默认值为5
setPitch 音调 设置语音的音调,取值0-9,不传时默认为5
setAudioType 返回数据文件格式 可不填,不填时默认为4
audiotype=4 :返回16K采样率的pcm格式
audiotype=5 :返回8K采样率的pcm格式

回调类方法说明

DBSynthesizerManagerDelegate 回调类方法说明:

参数 参数名称 说明
onSynthesisStarted 开始合成 开始合成
onPrepared 准备就绪 第一帧数据返回时的回调,此时可以使用数据执行播放。
onBinaryReceived 流式持续返回数据的接口回调 data 合成的音频数据。
audioType 音频类型,如pcm。
interval 音频interval信息,可能为空。
endFlag 是否时最后一个数据块,false:否,true:是。
onSynthesisCompleted 合成完成 当onBinaryReceived方法中endFlag参数=true,即最后一条消息返回后,会回调此方法。
onTaskFailed 合成失败 返回msg内容格式为:{"code":40000,"message":"…","trace_id":" 1572234229176271"} trace_id是引擎内部合成任务ID。

DBSynthesisPlayerDelegate回调方法说明:

参数 参数名称 说明
readlyToPlay 播放器准备就绪 此时可以调起播放器进行播放
playFinished 播放完成 播放结束回调
playPausedIfNeed 播放暂停 播放暂停回调
playResumeIfNeed 播放继续 播放开始回调
updateBufferPositon 更新播放缓存进度 播放器缓存进度回调
playerFaiure 合成失败,以及播放器处理失败的回调 返回错误码和错误信息,如果是合成器错误会返回traceId

错误码

失败时返回的msg格式:

参数名称 类型 描述
code string 错误码
message string 错误描述
trace_id string 引擎内部合成任务id(之后服务器错误会有)

对应code值:

错误码 含义
11190001 缺少ClientId
11190002 缺少Secret
11190003 token获取失败
11190004 参数未设置
11190005 合成⽂本内容为空
11190006 发⾳⼈参数错误
11190007 解析错误
11190008 链接服务器失败
10001 access_token参数获取失败或未传输
10002 domain参数值错误
10003 language参数错误
10004 voice_name参数错误
10005 audiotype参数错误
10006 rate参数错误
10007 idx错误
10008 single错误
10009 text参数错误
10010 文本太长
20000 获取资源错误
20001 断句失败
20002 分段数错误
20003 分段后的文本长度错误
20004 获取引擎链接错误
20005 RPC链接失败错误
20006 引擎内部错误
20007 操作redis错误
20008 音频编码错误
30000 鉴权错误(access_token值不正确或已经失效)
30001 并发错误
30002 内部配置错误
30003 json串解析错误
30004 获取url失败
30005 获取客户IP地址失败
30006 任务队列错误
40001 请求不是json结构
40002 缺少必须字段
40003 版本错误
40004 字段值类型错误
40005 参数错误
50001 处理超时
50002 内部rpc调用失败