aliYunRtVoice

来自于:AC模块工作室立即使用

addEventListener removeEventListener recognizeConfig recognizeStart recognizeStop recognizeIsStarted recognizeCancel clearCache

概述

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(仅安卓)时,只有触发事件,没有回调参数
  • 内部字段
  1. recognizeResult:{//JOSN对象;语音识别后的结果,当 name 为 recognizeResult 时返回的值
  2. sentence_id:'',//字符串类型;当前句子序号
  3. begin_time: 1,//数字类型;当前句子开始时间
  4. end_time:1111,//数字类型;当前句子结束时间,当为streaming模式时,中间结果返回-1
  5. status_code:0,//数字类型;状态码,normal模式时,结果为0;streaming模式时,最终结果为0,中间结果为1
  6. text:'hello' //字符串类型;当前识别结果
  7. }
  8. error:{
  9. errMsg:'' //字符串类型;错误信息
  10. }
  11. volume: 30 //数字类型;录音音量大小(实时回调),当 name 为volume
  12. recognizeFile:{ //JSON对象,语音识别的文件保存路径,当name为stopRecognizing时的返回值(仅iOS)
  13. status:true, //布尔类型;保存的状态
  14. file:'' //字符串类型;文件保存的路径
  15. }

示例代码

  1. var aliYunRtVoice = api.require('aliYunRtVoice');
  2. aliYunRtVoice.addEventListener({
  3. name: 'recognizeResult'
  4. },function(ret){
  5. api.alert({ msg: JSON.stringify(ret)});
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeEventListener

移除已添加的监听

removeEventListener({params})

params

name:

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

示例代码

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

可用性

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

示例代码:

  1. var aliYunRtVoice = api.require('aliYunRtVoice');
  2. var params = {
  3. keyId:'*******',
  4. keySecret:'******'
  5. };
  6. aliYunRtVoice.recognizeConfig(params);

可用性

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

recognizeStart

打开语音识别引擎

recognizeStart();

示例代码

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

可用性

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

recognizeStop

关闭语音识别引擎

recognizeStop();

示例代码

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

可用性

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

recognizeIsStarted

返回当前引擎是否已启动

recognizeIsStarted(callback(ret));

callback(ret)

ret:

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

示例代码

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

可用性

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

recognizeCancel

取消此次语音识别

recognizeCancel();

示例代码

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

可用性

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

clearCache

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

clearCache();

示例代码

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

可用性

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