语音识别

getVoiceRecognizer

解释:获取全局唯一的语音识别器voiceRecognizer

参数:无

voiceRecognizer 对象的方法列表:

方法参数说明
startoptions开始
stop停止
cancel取消
onStartcallback引擎准备就绪,可以开始说话
onRecognizecallback有识别结果返回
onFinishcallback识别完成
onErrorcallback识别遇到错误

start(options) 说明

属性类型必填默认值说明
modeStringdnn听音模式,有效值dnn/touch
longSpeechBooleanfalse是否开启长语音
contextStringinput语音识别所用的场景值,有效值见下表格。

mode有效值如下

参数值说明
dnn自动听音,默认值
touch手动听音(需要手动调用stop方法才会停止语音识别)

context有效值如下

参数值说明
input输入法场景
search搜索场景值

onRecognize(callback) 回调结果说明:

属性类型说明
resultString小程序语音识别过程中的返回内容

onFinish(callback) 回调结果说明:

属性类型说明
resultString小程序语音识别完成后的返回内容

onError(callback) 回调结果说明:

属性类型说明
errCodeString错误码
errMsgString错误信息

errCode值说明:

errCodeerrMsg
1001DNS解析失败
1002请求超时
1003网络不稳定
1004网络不可用
2001录音设备异常
2002用户未说话
2003用户说话时间太短
2004无录音权限
2005用户拒绝授权录音权限
2006识别被打断
2007获取鉴权信息失败
2008语音鉴权失败
2009初始化失败
3001请求参数错误
3002识别引擎忙
3003错误的调起时机
4001识别过程出错
4002语音过长
4003没有匹配的识别结果
4004返回结果异常
9000未知错误

示例

  1. const voiceRecognizer = swan.ai.getVoiceRecognizer();

    voiceRecognizer.onStart(() => {
    console.log('voice start');
    });
    voiceRecognizer.onRecognize(res => {
    console.log('voice recognize', res);
    });
    voiceRecognizer.onFinish(res => {
    console.log('voice end', res);
    });
    voiceRecognizer.onError(err => {
    console.log('voice error', err);
    });

    const options = {
    mode: 'dnn',
    longSpeech: false
    };

    voiceRecognizer.start(options);

Bug & Tip

  • 长语音时,mode参数不生效,默认为dnn(自动听音)。 此模式下会自动检测,不断调用onRecognize返回中间识别结果,检测到静音(大概5s)会自动断句,断句后调用onFnish返回一句话的识别结果并添加标点符号。在调用stop后,才正式结束识别;

  • 自动听音&短语音:开始识别后,8s内没有检测到声音,则结束识别并触发onError;在说话后,如5s内未检测到声音,判定为静音,会自动结束识别,返回识别结果。如说话超过60s,触发onError

  • 手动听音&短语音:开始识别后,8s内没有检测到声音,则结束识别并触发onError;如说话超过60s,触发onError;如时间未超过60s,则可以一直记录语音,直到调用stop,在onFinish中返回识别结果。

图像识别人脸识别