Appearance
初始化SDK
方法名
initSdk
注意
识别结果会在该方法中回调
用法
- 用法如下:
js
module.initSdk({
params: {
//音频保存目录,可以为空,为空的话插件将自定义目录
audioDir: "/storage/emulated/0/alyNui/audio",
//debug目录
debugDir: "/storage/emulated/0/alyNui/debug",
//appKey
appKey: AppConfig.appKey,
//token
token: AppConfig.token,
//accessKey
accessKey: "",
//accessKeySecret
accessKeySecret: "",
//stsToken
stsToken: "",
//必填, 推荐填入具有唯一性的id, 方便定位问题
deviceId: "empty_device_id",
//服务地址,推荐终端用户使用就近地域接入域名
url: AppConfig.url,
//是否保存音频debug,数据保存在debugDir中
saveWav: true,
//设置本地存储日志文件的最大字节数, 最大将会在本地存储2个设置字节大小的日志文件
maxLogFileSize: 50 * 1024 * 1024,
//服务模式,可选值:请参考插件文档,这里只能选择FullMix或FullCloud,每一种识别模式不一样
serviceMode: "FullCloud"
},
//成功执行的函数
success: (res) => {
let data = res.data;
if (data) {
if (data.event == "EVENT_TRANSCRIBER_STARTED") {
this.startDisabled = true;
} else if (data.event == "EVENT_ASR_PARTIAL_RESULT" && data.asrResult) {
let asrResult = data.asrResult.asrResult;
try {
let asrResultJson = JSON.parse(asrResult);
let payload = asrResultJson.payload || {};
let text = payload.result || "";
this.content = this.contentCache + text;
} catch (e) {
console.log(e)
}
} else if (data.event == "EVENT_SENTENCE_END" && data.asrResult) {
let asrResult = data.asrResult.asrResult;
try {
let asrResultJson = JSON.parse(asrResult);
let payload = asrResultJson.payload || {};
this.content = this.contentCache + payload.result || "";
this.contentCache = this.content;
} catch (e) {
console.log(e)
}
}
if (data.type == "onNuiAudioStateChanged") {
//录音文件保存
if (data.path) {
uni.showToast({
title: "文件保存路径:" + data.path,
icon: "none",
duration: 5000
})
}
}
}
},
//失败执行的函数
fail: (res) => {
console.log(res)
},
//接口调用完成返回函数,不管成功还是失败都会返回
complete: (res) => {
// console.log(res)
}
})js
module.initSdk({
params: {
//音频保存目录,可以为空,为空的话插件将自定义目录
audioDir: "/storage/emulated/0/alyNui/audio",
//debug目录
debugDir: "/storage/emulated/0/alyNui/debug",
//appKey
appKey: AppConfig.appKey,
//token
token: AppConfig.token,
//accessKey
accessKey: "",
//accessKeySecret
accessKeySecret: "",
//stsToken
stsToken: "",
//必填, 推荐填入具有唯一性的id, 方便定位问题
deviceId: "empty_device_id",
//服务地址,推荐终端用户使用就近地域接入域名
url: AppConfig.url,
//是否保存音频debug,数据保存在debugDir中
saveWav: true,
//设置本地存储日志文件的最大字节数, 最大将会在本地存储2个设置字节大小的日志文件
maxLogFileSize: 50 * 1024 * 1024,
//服务模式,可选值:请参考插件文档,这里只能选择FullMix或FullCloud,每一种识别模式不一样
serviceMode: "FullCloud"
},
//成功执行的函数
success: (res) => {
let data = res.data;
const event = data.getString("event");
if (event == "EVENT_TRANSCRIBER_STARTED") {
startDisabled.value = true;
} else if ((event == "EVENT_ASR_PARTIAL_RESULT" || event == "EVENT_SENTENCE_END") && data.getJSON("asrResult") != null) {
const asrResult = data.getJSON("asrResult")?.getString("asrResult");
try {
const asrResultJson : UTSJSONObject = JSON.parse(asrResult!) as UTSJSONObject;
const payload = asrResultJson.getJSON("payload")
const text = payload?.getString("result");
content.value = contentCache.value + text;
if (event == "EVENT_SENTENCE_END") {
contentCache.value = content.value;
}
} catch (e) {
console.log(e)
}
}
if (data.getString("type") == "onNuiAudioStateChanged") {
//录音文件保存
const path = data.getString("path");
console.log(path)
if (path != null) {
uni.showToast({
title: "文件保存路径:" + path,
icon: "none",
duration: 5000
})
}
}
},
//失败执行的函数
fail: (res) => {
console.log(res)
},
//接口调用完成返回函数,不管成功还是失败都会返回
// complete: (res) => {
// console.log(res)
// }
} as LevenOptions)- 参数说明
参数名 参数类型 是否必填 默认值 参数描述 params Object 是 无 接口请求参数 params.audioDir String 否 无 音频保存目录,可以为空,为空的话插件将自定义目录 params.debugDir String 否 无 debug目录 params.appKey String 否 无 申请的应用appKey params.token String 否 无 申请的应用token params.accessKey String 否 无 申请的应用accessKey params.accessKeySecret String 否 无 申请的应用accessKeySecret params.stsToken String 否 无 申请的应用stsToken params.deviceId String 是 无 必填, 推荐填入具有唯一性的id, 方便定位问题 params.url String 是 无 服务地址,推荐终端用户使用就近地域接入域名 params.saveWav Boolean 否 false 是否保存音频debug,数据保存在debugDir中 params.maxLogFileSize Long 否 无 设置本地存储日志文件的最大字节数, 最大将会在本地存储2个设置字节大小的日志文件 params.serviceMode String 是 无 服务模式,每一种识别模式不一样
可选值:FullMix,FullCloud,FullLocal,AsrCloud,AsrLocal,AsrMixparams.initType String 否 NativeNui 初始化类型:
可选值:NativeNui、NativeFileTranssuccess Function 否 无 执行成功的函数 fail Function 否 无 执行失败的函数 complete Function 否 无 执行完成的函数,不管成功还是失败都会执行
回调
- 示例
json
{
"data": {
"type": "onInitSuccess"
},
"message": "",
"code": 0
}json
{
"data": {
"event": "EVENT_SENTENCE_END",
"resultCode": 0,
"asrResult": {
"finish": false,
"resultCode": 0,
"asrResult": "{\"header\":{\"namespace\":\"SpeechTranscriber\",\"name\":\"SentenceEnd\",\"status\":20000000,\"message_id\":\"ea8ca7a6f4ab4458b2fba2bb27228c04\",\"task_id\":\"76b5315422584821b63aab7939153715\",\"status_text\":\"Gateway:SUCCESS:Success.\"},\"payload\":{\"index\":1,\"time\":4620,\"result\":\"喂喂喂喂喂。\",\"confidence\":0.879,\"words\":[],\"status\":0,\"gender\":\"\",\"begin_time\":2600,\"fixed_result\":\"\",\"unfixed_result\":\"\",\"stash_result\":{\"sentenceId\":2,\"beginTime\":4620,\"text\":\"\",\"fixedText\":\"\",\"unfixedText\":\"\",\"currentTime\":4620,\"words\":[]},\"audio_extra_info\":\"\",\"sentence_id\":\"2f16a94e74d5428dbaac403df6ed3871\",\"gender_score\":0.0}}",
"allResponse": "{\"header\":{\"namespace\":\"SpeechTranscriber\",\"name\":\"SentenceEnd\",\"status\":20000000,\"message_id\":\"ea8ca7a6f4ab4458b2fba2bb27228c04\",\"task_id\":\"76b5315422584821b63aab7939153715\",\"status_text\":\"Gateway:SUCCESS:Success.\"},\"payload\":{\"index\":1,\"time\":4620,\"result\":\"喂喂喂喂喂。\",\"confidence\":0.879,\"words\":[],\"status\":0,\"gender\":\"\",\"begin_time\":2600,\"fixed_result\":\"\",\"unfixed_result\":\"\",\"stash_result\":{\"sentenceId\":2,\"beginTime\":4620,\"text\":\"\",\"fixedText\":\"\",\"unfixedText\":\"\",\"currentTime\":4620,\"words\":[]},\"audio_extra_info\":\"\",\"sentence_id\":\"2f16a94e74d5428dbaac403df6ed3871\",\"gender_score\":0.0}}"
},
"type": "onNuiEventCallback",
"arg2": 0
},
"message": "",
"code": 0
}json
{
"data": {
"type": "onNuiAudioStateChanged",
"audioState": "STATE_OPEN"
},
"message": "",
"code": 0
}- 回调说明:
参数名 参数类型 参数描述 message String 消息提示 data Object 数据对象 data.type String 类型 onInitSuccess:初始化成功onNuiEventCallback:识别回调onNuiAudioStateChanged:录音器状态回调data.event String 事件类型,具体可参考示例文件 data.resultCode Integer 结果状态值,可参考sdk文档的错误码 data.asrResult Object 识别结果 data.asrResult.finish boolean 是否识别结束 data.asrResult.resultCode Integer 结果状态值,可参考sdk文档的错误码 data.asrResult.asrResult String 识别结果字符串 data.asrResult.allResponse String 识别结果响应 data.audioState String 录音状态 STATE_OPEN:录音开启STATE_CLOSE:录音关闭STATE_PAUSE:录音暂停data.path String 录音文件路径 code Integer 返回类型,0.成功,其他:失败
