txRealTimeRecognizer

立即使用

概述

本模块封装了腾讯云实时语音识别的SDK

注意:本模块 iOS 平台上最低适配系统版本为 iOS 9.0

模块接口

init

初始化

init({params})

params

appid:

  • 类型:字符串
  • 描述:腾讯云 ID,即 AppID,腾讯云获取

secretId:

  • 类型:字符串
  • 描述:腾讯云安全凭证,腾讯云获取

secretKey:

  • 类型:字符串
  • 描述:腾讯云安全凭证,腾讯云获取

projectId:

  • 类型:数字
  • 描述:腾讯云projectId,腾讯云获取

sliceTime:

  • 类型:数字
  • 描述:(可选项)分片时间, 此参数影响语音分片长度, 单位:毫秒, 默认600ms
  • 默认:600

enableDetectVolume:

  • 类型:布尔
  • 描述:(可选项)是否检测录音音量的变化, 开启后sdk会实时回调音量变化
  • 默认:true

endRecognizeWhenDetectSilence:

  • 类型:布尔
  • 描述:(可选项)识别到静音是否结束识别
  • 默认:true

authorize:

  • 类型:布尔
  • 描述:(可选项)是否需要授权
  • 默认:false

sn:

  • 类型:字符串
  • 描述:(可选项)授权序列号,authorize为true时必须填写,false可不填写

deviceId:

  • 类型:字符串
  • 描述:(可选项)授权序列号,authorize为true填写有效

示例代码

var txRealTimeRecognizer = api.require('txRealTimeRecognizer');
txRealTimeRecognizer.init({
  appid:'',
  secretId:'',
  secretKey:'',
  projectId:''
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

start

开始实时语音识别

start()

示例代码

var txRealTimeRecognizer = api.require('txRealTimeRecognizer');
txRealTimeRecognizer.start();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stop

停止实时语音识别

stop()

示例代码

var txRealTimeRecognizer = api.require('txRealTimeRecognizer');
txRealTimeRecognizer.stop();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopMicrophone

关闭麦克风 (Android 不支持该接口)

stopMicrophone()

示例代码

var txRealTimeRecognizer = api.require('txRealTimeRecognizer');
txRealTimeRecognizer.stopMicrophone();

可用性

iOS系统

可提供的1.0.0及更高版本

addEventListener

添加监听

addEventListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
     eventType:'', //字符串类型;事件回调,取值范围如下:
                    //realTimeRecognizerOnSliceRecognize:每个语音包分片识别结果
                    //realTimeRecognizerDidFinish:一次识别成功
                    //realTimeRecognizerDidError:一次识别失败
                      //realTimeRecognizerDidStartRecordSuccess:开始录音成功
                      //realTimeRecognizerDidStartRecordError:开始录音失败
                      //realTimeRecognizerDidStopRecord:结束录音
                      //realTimeRecognizerDidUpdateVolume:录音音量实时回调用
                      //realTimeRecognizerOnFlowRecognizeStart:语音流的开始识别
                      //realTimeRecognizerOnFlowRecognizeEnd:语音流的结束识别
                      //realTimeRecognizerOnSegmentSuccessRecognize:语音流的识别结果
                      //realTimeRecognizerOnFlowStart:语音流开始识别
                      //realTimeRecognizerOnFlowEnd:语音流结束识别
                      //realTimeRecognizerDidSaveAudioDataAsFile:录音停止后回调一次,再次开始录音会清空上一次保存的文件 (android不支持改参数)
     response:{//json对象;语音分片的识别结果,realTimeRecognizerOnSliceRecognize、realTimeRecognizerOnSegmentSuccessRecognize返回
       code:0,            //数字类型;任务描述代码,为code = 0时标示成功,其他表示为失败
       message:'',            //字符串类型;code对应的描述信息
       voiceId:'',            //字符串类型;语音流的识别id
       text:'',            //字符串类型;当前语音流的识别结果
       seq:1,            //数字类型;语音包序列号,注意:不是语音流序列号
       resultNumber:1,            //数字类型;表示后面的 resultList 里面有几段结果,如果是0表示没有结果,遇到中间是静音。如果是1表示 result_list 有一个结果, 在发给服务器分片很大的情况下可能会出现多个结果,正常情况下都是1个结果
       resultList:'',            //字符串类型;结果
       recognizedText:'',            //字符串类型;识别到的总文本
       requestParameters    :{},            //json对象;语音分片请求参数
       messageId    :'',            //字符串类型;本 message 唯一 id
     },                          
    result:'',            //字符串类型;一次识别出的总文本;realTimeRecognizerDidFinish返回                     
    msg:'',        //字符串类型;错误信息;realTimeRecognizerDidError、realTimeRecognizerDidStartRecordError返回
    volume:0        //数字类型;声音音量,取值范围(-40-0);realTimeRecognizerDidUpdateVolume返回
    voiceId:'',        //字符串类型;语音流对应的voiceId,唯一标识;realTimeRecognizerOnFlowRecognizeStart、realTimeRecognizerOnFlowRecognizeEnd、realTimeRecognizerOnFlowStart、realTimeRecognizerOnFlowEnd返回
    seq:0,        //数字类型;flow的序列号;realTimeRecognizerOnFlowRecognizeStart、realTimeRecognizerOnFlowRecognizeEnd、realTimeRecognizerOnFlowStart、realTimeRecognizerOnFlowEnd返回
    audioFilePath:''        //字符串类型;音频文件路径;realTimeRecognizerDidSaveAudioDataAsFile返回 (android不支持改参数)
}

示例代码

var txRealTimeRecognizer = api.require('txRealTimeRecognizer');
txRealTimeRecognizer.addEventListener(function(ret) {
    api.alert({ msg:JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeEventListener

移除监听

removeEventListener()

示例代码

var txRealTimeRecognizer = api.require('txRealTimeRecognizer');
txRealTimeRecognizer.removeEventListener();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本