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

语音识别iOS SDK

下载安装

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

  • 兼容性:系统:iOS 8以上版本
  • CPU架构:arm64 armv7 i386 x86_64s
  • 添加依赖库:libc++.tbd

XCode集成Lib

    • 将framework添加到项目project的目录下面
    • 使用pod添加SDK。在podfile文件中添加如下两行代码:

      pod 'DBCommonLib'
      pod 'DBASRFrame' 

      之后pod install

  • 引用SDK的头文件
  • #import <DBASRFramework/DBRecognitionManager.h>// 语音识别器的头文件
    #import <DBASRFramework/DBFileRecognizer.h>//文件识别器头文件
  • 实例化DBRecognitionManager

    实例化DBRecognitionManager对象,包含设置clientId和clientSecret;(可以设置是否打印日志,日志打印在沙盒中,不在控制台显示,默认:log = NO);

    注:如果是私有化部署此处不需要设置clientId和clientSecret,直接通过setupPrivateDeploymentURL方法设置私有化url即可。

  • 语音识别控制
  • // 设置开始识别的回调对象并开始语音识别,
    -(int)startVoiceRecognition:(id<DBVoiceRecognizeDelgate>)delegate;
    // 结束语音识别
    -(void)stopVoiceRecognition;
  • 在代理的回调中处理相关的逻辑,回传数据或处理异常

SDK关键类

  • DBRecognitionManager.h:语音识别关键业务处理类,全局只需一个实例即可,包含控制语音识别的开始、结束、是否打印日志、超时时间、代理方法等;
  • DBPublicEumerte.h:sdk全局的枚举类,包含SDK的各种状态、错误码等;

调用说明

  • 初始化DBRecognitionManager类,得到DBRecognitionManager的实例;
  • 设置授权信息,公有云设置clientId,和clIentSecret,私有化部署设置私有化url;
  • 设置Client单例的回调对象,并遵守相关代理协议,实现的代理方法,开启语音识别;
  • 处理相关的识别结果,如果发生错误,可以在错误回调方法中查看错误信息;

参数说明

  • DBVoiceRecognizeDelgate 回调类方法说明
  • 方法名称 参数说明 使用说明
    - (void)onBeginOfSpeech 开始进行语音识别 语音识别开始,与云端识别服务建立连接
    -(void)onVolumeChanged:(NSInteger)volume data:(NSData *)data Volume: 当前说话音量 ,范围0-100 data: 当前回调的录音数据 当开启识别后,会将识别的语音和音量通过该接口回调出来
    - (void)onResult:(NSArray *)nBest uncertain:(NSArray *)uncertain is-Last:(BOOL)isLast nBest:识别结果
    Uncertain:推测的识别结果
    isLast:最后一句的标识
    回调云端服务器返回的识别结果
    - (void)onEndOfSpeech 识别完成 语音识别完成,与云端识别服务断开
    -(void)onError:(NSInteger)code message:(NSString *)message Code:错误码
    Message:错误信息
    返回识别过程中的错误信息
  • 失败时返回的msg格式
  • 参数名称 类型 描述
    code int 错误码9xxxx表示SDK相关错误,3xxxx识别引擎相关错误,4xxxx授权及其他错误
    message string 错误描述
    trace_id string 引擎内部识别任务id

错误码说明

错误码 含义 备注
13190001 缺少ClientId
13190002 缺少Secret
13190003 token获取失败
13190004 本地⽹络不可⽤
13190005 ⽹络连接失败
13190006 声⾳太短
13190007 没有说话
13190008 录⾳出现位置错误
13190009 麦克风错误
13190010 VAD初始化错误
13190011 VAD识别失败
13190012 VAD关闭错误
90000 文本数据
30001 HTTP请求参数错误 服务器内部错误,提交traceid,标贝后台进行排查。
30002 服务内部错误
30003 识别结果解析出错
30004 应用包名未知
30005 语音质量问题
30006 输入语音过长
30007 连接识别引擎失败
30008 会话id不存在
30009 Rpc调用非法
30010 redis rpop操作返回空
30011 redis rpop值不合法
30012 rpc调用识别引擎失败
30013 Redis rpop操作失败
30014 redis lpush操作失败
30015 单个语音分片过长
30016 回调url失败
40001 json解析失败 将请求序列化为json结构
40002 json字段不全 检查对应的参数是否正确
40003 版本错误
40004 json字段值类型错误
40005 参数错误
40006 idx超时 相邻idx间隔超过设置超时值(默认60s)
40007 idx顺序错误 idx乱序
40008 token校验失败
40009 token处于未激活状态 检查相应的client_id
40010 token已过期 重新获取token
40011 使用量已超过购买量 检查相应的client_id
40012 qps错误 增大qps
50001 处理超时
50002 内部 rpc 调用失败
50003 服务端繁忙
50004 其他内部错误

常见问题

Q: 提示服务不可用怎么办?
A:请检查服务授权是否到期;
Q: APP权限需要使用哪些?
A:网络权限,麦克风权限;