startSentenceRecognize stopSentenceRecognize sentenceRecorderIsStarted sentenceRecorderVoiceVolume addSentenceEventListener removeSentenceEventListener
startTranscriberRecognize stopTranscriberRecognize transcriberRecorderIsStarted transcriberRecorderVoiceVolume addTranscriberEventListener removeTranscriberEventListener
aliyunNls 插件是 aliYunRtVoice 和 aliYunVoice 的聚合升级优化版。封装了阿里云提供的语音识别的一句话识别服务、实时语音识别服务和语音合成的功能。
语音识别服务提供将实时短语音转成文字的功能,可直接用于语音搜索类应用。语音合成提供将文本转为普通话语音的语音合成功能。
一句话识别:对一分钟内的短语音进行识别,适用于对话聊天,控制口令等较短的语音识别场景。 实时语音识别:对长时间的语音数据流进行识别,适用于会议演讲、视频直播等长时间不间断识别的场景。
使用本插件之前需要先去阿里云控制台申请AccessKey ID 和 AccessKey Secret
注意:本插件会创建一个单例对象,可在多个页面共用。
设置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({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 及更高版本