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(仅安卓)时,只有触发事件,没有回调参数
- 内部字段
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及更高版本