aliYunVoice
来自于:AC模块工作室立即使用
addEventListener removeEventListener recognizeConfig recognizeStart recognizeStop recognizeIsStarted recognizeCancel clearCache readConfig readStart readPause readStop
概述
aliYunVoice模块封装了阿里云提供的语音识别的一句话识别服务和语音合成的功能。
使用本模块之前需要先去阿里云控制台申请appid和appsecret
语音识别服务提供将实时短语音转成文字的功能,可直接用于语音搜索类应用。
语音合成提供将文本转为普通话语音的语音合成功能。
模块接口
addEventListener
添加监听
addEventListener({params},callback(ret))
params
name:
- 类型:字符串
- 描述:监听的事件的名字
- 取值范围:
- startRecognizing:识别开始 (语音识别)
- stopRecognizing:识别结束 (语音识别)
- startRecording:录音开始 (语音识别)(仅支持安卓)
- stopRecording:录音结束 (语音识别)(仅支持安卓)
- volume:录音音量,范围0-100 (语音识别)
- recognizeResult:语音识别结果 (语音识别)
- onError:语音识别错误 (语音识别、语音合成)
- readStart:语音合成开始 (语音合成)
- readTransferring:语音合成正在翻译 (语音合成)
- readOver:语音合成完毕 (语音合成)
callback(ret)
ret:
- 类型:JSON对象
- 描述:所监听事件的回调,当name为startRecognizing,stopRecording,startRecording, readStart, readTransferring, readOver时,只有触发事件,没有回调参数
- 内部字段
recognizeResult:{//JOSN对象;语音识别后的结果,当 name 为 recognizeResult 时返回的值
result:'',//字符串类型;识别结果
finish: 1,//数字类型;0为未结束,非零为结束,识别是否已经结束
}
error:{
errMsg:'' //字符串类型;错误信息
}
volume: 30 //数字类型;录音音量大小(实时回调),当 name 为volume
recognizeFile:{ //JSON对象,语音识别的文件保存路径,当name为stopRecognizing时的返回值
status:true, //布尔类型;保存的状态
file:'' //字符串类型;文件保存的路径
}
示例代码
var aliYunVoice = api.require('aliYunVoice');
aliYunVoice.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:语音识别错误 (语音识别、语音合成)
- readStart:语音合成开始 (语音合成)
- readTransferring:语音合成正在翻译 (语音合成)
- readOver:语音合成完毕 (语音合成)
示例代码
var aliYunVoice = api.require('aliYunVoice');
aliYunVoice.removeEventListener({
name: 'recognizeResult'
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
recognizeConfig
配置语音识别的参数
recognizeConfig({params,callback(ret)})
params
keyId:
- 类型:字符串
- 描述:(必选项) Access Key ID
keySecret
- 类型:字符串
- 描述:(必选项) Access Key Secret
appKey:
- 类型:字符串
- 描述:(可选项)应用的appkey
- 默认值:nls-service
asrSc:
- 类型:字符串
- 描述:(可选项) 语音识别的语音格式(仅支持安卓)
- 默认值:opu
- 取值范围:
- opu
- pcm
- wav
- speex
userId:
- 类型:字符串
- 描述:(可选项) 用户自定义热词接口,设置用户id,使用词表时必选(仅支持iOS)
- 默认值:无
vocabularyId:
- 类型:字符串
- 描述:(可选项) 用户自定义热词接口,设置词表id,使用词表时必选
- 默认值:无
mode:
- 类型:字符串
- 描述:(可选项) 语音识别的结果返回模式
- 默认值: normal
- 取值范围:
- streaming:结果为增量返回,即识别中间结果每次返回增加1-2个字
- normal:识别只返回最终结果
recognizeAttr
- 类型:JSON对象
- 描述:(可选项)语音识别引擎的属性
- 内部字段
isAutoStop:true //(可选项)布尔类型;设置VAD 是端点检测功能,打开VAD可以自动检测语音结束,并结束语音;默认值:true
interval:2000 // (可选项) 数字类型;设置获取录音音量的最短时间间隔,防止录音音量回调过于频繁影响客户端对音量的展示逻辑;单位:ms;默认值:2000(仅支持安卓)
minRecordTime:5000 // (可选项) 数字类型;用于设置最短录音时间,引擎开始时,用户在该时间内不说话,则会自动关闭引擎;单位:ms; 默认值:5000
maxRecordTime:5000 //(可选项) 数字类型;用于设置最大录音时间;单位:ms;默认值:5000
milliSeconds:5000 // (可选项) 数字类型;打开VAD时, 设置录音中句子之间的最长停顿时间 ,录音过程中,如果用户停顿超过该时间则认为用户已经停止说话,停止录音;单位:ms; 默认值;5000
示例代码:
var aliYunVoice = api.require('aliYunVoice');
var params = {
keyId:'*******',
keySecret:'******',
asrSc:'opu'
};
aliYunVoice.recognizeConfig(params);
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
recognizeStart
打开语音识别引擎
recognizeStart();
示例代码
var aliYunVoice = api.require('aliYunVoice');
aliYunVoice.recognizeStart();
可用性
iOS系统,Android系统 可提供的1.0.0及更高版本
recognizeStop
关闭语音识别引擎
recognizeStop();
示例代码
var aliYunVoice = api.require('aliYunVoice');
aliYunVoice.recognizeStop();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
recognizeIsStarted
返回当前引擎是否已启动
recognizeIsStarted(callback(ret));
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
isStarted:true //布尔类型;是否启动
}
示例代码
var aliYunVoice = api.require('aliYunVoice');
aliYunVoice.recognizeIsStarted(function(ret){
if (ret.isStarted){
api.alert("引擎已打开");
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
recognizeCancel
取消此次语音识别
recognizeCancel();
示例代码
var aliYunVoice = api.require('aliYunVoice');
aliYunVoice.recognizeCancel();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
clearCache
清除录音文件缓存
clearCache();
示例代码
var aliYunVoice = api.require('aliYunVoice');
aliYunVoice.clearCache();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
readConfig
配置语音合成参数
readConfig(params)
params
appKey:
- 类型:字符串
- 描述:(可选项)应用的appkey
- 默认值:nls-service
示例代码:
var aliYunVoice = api.require('aliYunVoice');
var params = {
appKey : 'nls-service'
};
aliYunVoice. readConfig(params);
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
readStart
开始语音合成
readStart(params)
params
keyId:
- 类型:字符串
- 描述:(必选项) Access Key ID
keySecret
- 类型:字符串
- 描述:(必选项) Access Key Secret
encodeType
- 类型:字符串
- 描述:(可选项) 设置tts返回语音的格式类型,目前支持pcm、wav、alaw
- 默认值:pcm
- 取值范围:
- pcm
- wav
- alaw
speechRate
- 类型:数字类型
- 描述:(可选项)语速,阈值-500~500
- 默认值:0
volume
- 类型:数字类型
- 描述:(可选项) 音量大小,阈值0-100。
- 默认值:50
text
- 类型:字符串
- 描述:(必选项) 要语音合成的文本
sampleRate
- 类型:数字
- 描述:(可选项) 码率
- 默认值:16000
示例代码
var aliYunVoice = api.require('aliYunVoice');
aliYunVoice.readStart({
keyId:'*******',
keySecret:'******',
text:'今天好热啊'
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
readPause
暂停语音合成,仅支持安卓系统
readPause()
示例代码
var aliYunVoice = api.require('aliYunVoice');
aliYunVoice.readPause();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
readStop
停止语音合成,仅支持安卓系统
readStop()
示例代码
var aliYunVoice = api.require('aliYunVoice');
aliYunVoice.readStop();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本