startSentenceRecognize stopSentenceRecognize sentenceRecorderIsStarted sentenceRecorderVoiceVolume addSentenceEventListener removeSentenceEventListener
startTranscriberRecognize stopTranscriberRecognize transcriberRecorderIsStarted transcriberRecorderVoiceVolume addTranscriberEventListener removeTranscriberEventListener
aliyunNls 插件是 aliYunRtVoice 和 aliYunVoice 的聚合升级优化版。封装了阿里云提供的语音识别的一句话识别服务、实时语音识别服务和语音合成的功能。
语音识别服务提供将实时短语音转成文字的功能,可直接用于语音搜索类应用。语音合成提供将文本转为普通话语音的语音合成功能。
一句话识别:对一分钟内的短语音进行识别,适用于对话聊天,控制口令等较短的语音识别场景。 实时语音识别:对长时间的语音数据流进行识别,适用于会议演讲、视频直播等长时间不间断识别的场景。
使用本插件之前需要先去阿里云控制台申请AccessKey ID 和 AccessKey Secret
注意:本插件会创建一个单例对象,可在多个页面共用。
##setLog##
设置log级别 (android不支持该方法)
setLog({params},callback(ret))
path:
level:
var aliyunNls = api.require('aliyunNls');
aliyunNls.setLog({
path: 'fs://aliyunNlsLog',
level: 'debug'
});
iOS 系统
可提供的 1.0.0 及更高版本
##startSentenceRecognize##
开始一句话识别
startSentenceRecognize({params})
token:
appkey:
serviceUrl:
intermediate:
punctuation:
ITN:
voiceDetection:
maxStartSilence:
maxEndSilence:
customizationId:
vocabularyId:
params:
var aliyunNls = api.require('aliyunNls');
aliyunNls.startSentenceRecognize({
token: '*****',
appkey:''
});
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
停止一句话识别
stopSentenceRecognize( )
var aliyunNls = api.require('aliyunNls');
aliyunNls.stopSentenceRecognize();
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
判断一句话识别的录音是否开始
sentenceRecorderIsStarted(callback(ret));
ret:
{
isStarted:true //布尔类型;是否启动
}
var aliyunNls = api.require('aliyunNls');
aliyunNls.sentenceRecorderIsStarted(function(ret){
if (ret.isStarted) {
api.alert({msg:'正在一句话识别的录音...'});
}
});
iOS 系统,Android 系统 可提供的 1.0.0 及更高版本
获取一句话识别时录音的音量大小 (暂仅支持ios)
sentenceRecorderVoiceVolume(callback(ret));
ret:
{
volume: //数字类型;音量大小
}
var aliyunNls = api.require('aliyunNls');
aliyunNls.sentenceRecorderVoiceVolume(function(ret){
if (ret) {
api.alert({msg:JSON.stringify(ret)});
}
});
iOS 系统,Android 系统 可提供的 1.0.0 及更高版本
一句话识别的相关事件监听
addSentenceEventListener(callback(ret,err));
ret:
{
eventType: //字符串类型;交互事件类型;取值范围:
//recordStart:录音开始事件
//recordStop:录音停止事件 (仅支持ios)
//recordVolume:录音音量大小实时返回事件 (仅支持ios)
//recordFail:录音错误事件
//taskFail:识别发生错误事件
//channelClosed:与服务端连接关闭的事件
//recognizedCompleted:语音识别结束事件
//recognizedResultChanged:语音识别中间结果回调事件
volume: //数字类型;录音音量大小,仅当 eventType 为 recordVolume 时有值 (该参数仅支持ios)
request: { //JSON对象;语音识别的返回信息,仅当 eventType 为后四种时有值 (该参数仅支持ios)
statusCode:, //字符串类型;状态码
msg:'', //字符串类型;结果信息
event: //数字类型;回调方法
},
result:'' //字符串类型;识别结果,仅当 eventType 为 recognizedCompleted、recognizedResultChanged 时有值
}
err:
{
msg:, //字符串类型;错误信息
code: //数字类型;错误码
}
var aliyunNls = api.require('aliyunNls');
aliyunNls.addSentenceEventListener(function(ret,err){
if (ret.eventType == 'recordVolume') {
console.log(JSON.stringify(ret));
} else if (ret.eventType == 'recordStart') {
console.log('录音开始');
} else if (ret.eventType == 'recordStop') {
console.log('录音停止');
} else if (ret.eventType == 'recordFail') {
api.alert({msg:'录音错误'});
} else if (ret.eventType == 'taskFail') {
console.log('语音识别发生错误');
} else if (ret.eventType == 'channelClosed') {
console.log('与服务端连接关闭');
} else if (ret.eventType == 'recognizedCompleted') {
api.alert({msg:'语音识别结束'});
} else {
console.log(JSON.stringify(ret));
}
});
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
移除一句话识别的相关事件的监听
removeSentenceEventListener();
var aliyunNls = api.require('aliyunNls');
aliyunNls.removeSentenceEventListener();
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
开始实时语音识别
startTranscriberRecognize({params})
token:
appkey:
serviceUrl:
intermediate:
punctuation:
ITN:
maxSentenceSilence:
customizationId:
vocabularyId:
params:
var aliyunNls = api.require('aliyunNls');
aliyunNls.startTranscriberRecognize({
token: '*****',
appkey:''
});
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
停止实时语音识别
stopTranscriberRecognize()
var aliyunNls = api.require('aliyunNls');
aliyunNls.stopTranscriberRecognize();
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
判断实时语音识别的录音是否开始
transcriberRecorderIsStarted(callback(ret));
ret:
{
isStarted:true //布尔类型;是否启动
}
var aliyunNls = api.require('aliyunNls');
aliyunNls.transcriberRecorderIsStarted(function(ret){
if (ret.isStarted) {
api.alert({msg:'正在实时语音识别的录音...'});
}
});
iOS 系统,Android 系统 可提供的 1.0.0 及更高版本
获取实时语音识别时录音的音量大小 (暂仅支持ios)
transcriberRecorderVoiceVolume(callback(ret));
ret:
{
volume: //数字类型;音量大小
}
var aliyunNls = api.require('aliyunNls');
aliyunNls.transcriberRecorderVoiceVolume(function(ret){
if (ret) {
api.alert({msg:JSON.stringify(ret)});
}
});
iOS 系统,Android 系统 可提供的 1.0.0 及更高版本
实时语音识别的相关事件监听
addTranscriberEventListener(callback(ret,err));
ret:
{
eventType: //字符串类型;交互事件类型;取值范围:
//recordStart:录音开始事件
//recordStop:录音停止事件
//recordVolume:录音音量大小实时返回事件
//recordFail:录音错误事件
//taskFail:识别发生错误事件
//channelClosed:与服务端连接关闭的事件
//transcriptionStarted:语音识别开始事件
//sentenceBegin:语音识别中一句话的开始事件
//sentenceEnd:语音识别中一句话的结束事件
//transcriptionCompleted:语音识别结束事件
//transcriptionResultChanged:语音识别中间结果回调事件
volume: //数字类型;录音音量大小,仅当 eventType 为 recordVolume 时有值
request: { //JSON对象;语音识别的返回信息,仅当 eventType 为后四种时有值(该参数仅支持ios)
statusCode:, //字符串类型;状态码
msg:'', //字符串类型;结果信息
event: //数字类型;回调方法
},
result:'' //字符串类型;识别结果,仅当 eventType 为 sentenceBegin、sentenceEnd、transcriptionResultChanged 时有值
}
err:
{
msg:, //字符串类型;错误信息
code: //数字类型;错误码
}
var aliyunNls = api.require('aliyunNls');
aliyunNls.addTranscriberEventListener(function(ret,err){
if (ret.eventType == 'recordVolume') {
console.log(JSON.stringify(ret));
} else if (ret.eventType == 'recordStart') {
console.log('录音开始');
} else if (ret.eventType == 'recordStop') {
console.log('录音停止');
} else if (ret.eventType == 'recordFail') {
api.alert({msg:'录音错误'});
} else if (ret.eventType == 'taskFail') {
console.log('语音识别发生错误');
} else if (ret.eventType == 'channelClosed') {
console.log('与服务端连接关闭');
} else if (ret.eventType == 'transcriptionCompleted') {
api.alert({msg:'语音识别结束'});
} else {
console.log(JSON.stringify(ret));
}
});
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
移除实时语音识别的相关事件的监听
removeTranscriberEventListener();
var aliyunNls = api.require('aliyunNls');
aliyunNls.removeTranscriberEventListener();
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
开始语音朗读
startRead({params})
token:
appkey:
text:
format:
serviceUrl:
voice:
volume:
speechRate:
sampleRate:
pitchRate:
method:
params:
var aliyunNls = api.require('aliyunNls');
aliyunNls.startRead({
token: '*****',
appkey:'',
text:'你好,YonBuilder移动开发'
});
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
停止语音朗读
stopRead( )
var aliyunNls = api.require('aliyunNls');
aliyunNls.stopRead();
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
语音朗读的相关事件监听
addReadEventListener(callback(ret,err));
ret:
{
eventType: //字符串类型;交互事件类型;取值范围:
//taskFail:识别发生错误事件
//channelClosed:与服务端连接关闭的事件
//readStarted:语音朗读开始事件
//readCompleted:语音朗读结束事件
volume: //数字类型;录音音量大小,仅当 eventType 为 recordVolume 时有值 (该参数仅支持ios)
request: { //JSON对象;语音识别的返回信息,仅当 eventType 为后四种时有值 (该参数仅支持ios)
statusCode:, //字符串类型;状态码
msg:'', //字符串类型;结果信息
event: //数字类型;回调方法
},
result:'' //字符串类型;识别结果,仅当 eventType 为 readStarted、readCompleted 时有值
}
var aliyunNls = api.require('aliyunNls');
aliyunNls.addReadEventListener(function(ret,err){
if (ret.eventType == 'readStarted') {
console.log(JSON.stringify(ret));
} else if (ret.eventType == 'taskFail') {
console.log('语音识别发生错误');
} else if (ret.eventType == 'channelClosed') {
console.log('与服务端连接关闭');
} else {
console.log(JSON.stringify(ret));
}
});
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
移除语音朗读的相关事件的监听
removeReadEventListener();
var aliyunNls = api.require('aliyunNls');
aliyunNls.removeReadEventListener();
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本