aliYunRtVoice

概述

aliYunRtVoice插件封装了阿里云提供的语音识别的实时语音识别服务功能。

使用本插件之前需要先去阿里云控制台申请appid和appsecret

使用本插件前需要开通智能语音交互服务,打开阿里云首页,点击“产品->(人工智能 ET)智能语音交互”,打开新的网页后如果没有开通,点击“立即开通”。

语音识别服务提供提供实时录音识别为文字的能力。

注意: Android上和aMap有编译冲突问题,不可同时使用。

插件接口

addEventListener

添加监听

addEventListener({params},callback(ret))

params

name:

  • 类型:字符串
  • 描述:监听的事件的名字
  • 取值范围:
    • startRecognizing:识别开始
    • stopRecognizing:识别结束
    • startRecording:录音开始(仅支持安卓)
    • stopRecording:录音结束(仅支持安卓)
    • volume:录音音量,范围0-100
    • recognizeResult:语音识别结果
    • onError:语音识别错误

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:所监听事件的回调,当name为startRecognizing,stopRecording,startRecording, stopRecognizing(仅安卓)时,只有触发事件,没有回调参数
  • 内部字段
recognizeResult:{//JOSN对象;语音识别后的结果,当 name 为 recognizeResult 时返回的值
    sentence_id:'',//字符串类型;当前句子序号
    begin_time: 1,//数字类型;当前句子开始时间
    end_time:1111,//数字类型;当前句子结束时间,当为streaming模式时,中间结果返回-1
    status_code:0,//数字类型;状态码,normal模式时,结果为0;streaming模式时,最终结果为0,中间结果为1
    text:'hello' //字符串类型;当前识别结果
}
error:{
    errMsg:''  //字符串类型;错误信息
}
volume: 30     //数字类型;录音音量大小(实时回调),当 name 为volume
recognizeFile:{ //JSON对象,语音识别的文件保存路径,当name为stopRecognizing时的返回值(仅iOS)
    status:true, //布尔类型;保存的状态
    file:''      //字符串类型;文件保存的路径
}

示例代码

var aliYunRtVoice = api.require('aliYunRtVoice');
aliYunRtVoice.addEventListener({
    name: 'recognizeResult'
},function(ret){
    api.alert({ msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeEventListener

移除已添加的监听

removeEventListener({params})

params

name:

  • 类型:字符串
  • 描述:监听的事件的名字
  • 取值范围:
    • startRecognizing:识别开始 (语音识别)
    • stopRecognizing:识别结束 (语音识别)
    • startRecording:录音开始 (语音识别)(仅支持安卓)
    • stopRecording:录音结束 (语音识别)(仅支持安卓)
    • volume:录音音量,范围0-100 (语音识别)
    • recognizeResult:语音识别结果 (语音识别)
    • onError:语音识别错误 (语音识别)

示例代码

var aliYunRtVoice = api.require('aliYunRtVoice');
aliYunRtVoice.removeEventListener({
    name: 'recognizeResult'
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

recognizeConfig

配置语音识别的参数

recognizeConfig({params})

params

keyId:

  • 类型:字符串
  • 描述:(必选项) Access Key ID

keySecret

  • 类型:字符串
  • 描述:(必选项) Access Key Secret

appKey:

  • 类型:字符串
  • 描述:(可选项)应用的appkey
  • 默认值:nls-service-shurufa16khz

userId:

  • 类型:字符串
  • 描述:(可选项) 用户自定义热词接口,设置用户id(仅支持iOS)
  • 默认值:无

vocabularyId:

  • 类型:字符串
  • 描述:(可选项) 用户自定义热词接口,设置词表id
  • 默认值:无

mode:

  • 类型:字符串
  • 描述:(可选项) 语音识别的结果返回模式(仅支持安卓,iOS默认为streaming)
  • 默认值: streaming
  • 取值范围:
    • streaming:结果为增量返回,即识别中间结果每次返回增加1-2个字
    • normal:识别只返回最终结果

interval

  • 类型:字符串
  • 描述:(可选项) 设置获取录音音量的最短时间间隔,防止录音音量回调过于频繁影响客户端对音量的展示逻辑;单位:ms(仅支持安卓)
  • 默认值:2000

示例代码:

var aliYunRtVoice = api.require('aliYunRtVoice');
var params = {
            keyId:'*******',
            keySecret:'******'
            };
aliYunRtVoice.recognizeConfig(params);

可用性

iOS系统,Android系统 可提供的1.0.0及更高版本

recognizeStart

打开语音识别引擎

recognizeStart();

示例代码

var aliYunVoice = api.require('aliYunVoice');
aliYunVoice.recognizeStart();

可用性

iOS系统,Android系统 可提供的1.0.0及更高版本

recognizeStop

关闭语音识别引擎

recognizeStop();

示例代码

var aliYunRtVoice = api.require('aliYunRtVoice');
aliYunRtVoice.recognizeStop();

可用性

iOS系统,Android系统 可提供的1.0.0及更高版本

recognizeIsStarted

返回当前引擎是否已启动

recognizeIsStarted(callback(ret));

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    isStarted:true  //布尔类型;是否启动
}

示例代码

var aliYunRtVoice = api.require('aliYunRtVoice');
aliYunRtVoice.recognizeIsStarted(function(ret){
    if (ret.isStarted){
       api.alert("引擎已打开");
    }
});

可用性

iOS系统,Android系统 可提供的1.0.0及更高版本

recognizeCancel

取消此次语音识别

recognizeCancel();

示例代码

var aliYunRtVoice = api.require('aliYunRtVoice');
aliYunRtVoice.recognizeCancel();

可用性

iOS系统,Android系统 可提供的1.0.0及更高版本

clearCache

清除录音文件缓存,由于实时语音识别的sdk,不支持获取录音数据,也就不能存储文件,所以此方法只支持ios

clearCache();

示例代码

var aliYunVoice = api.require('aliYunVoice');
aliYunVoice.clearCache();

可用性

iOS系统 可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/11/18