代码示例
说明
接口默认采用GetInstance获得单例,您如果有多例需求,也可以直接new对象进行使用。
NUI SDK初始化CommonUtils.copyAssetsData(this);
int ret = NativeNui.GetInstance().initialize(this, genInitParams(path,path2), Constants.LogLevel.LOG_LEVEL_VERBOSE, true);
其中,genInitParams生成为String JSON字符串,包含资源目录和用户信息。其中用户信息包含如下字段。private String genInitParams(String workpath, String debugpath) {
String str = "";
try{
JSONObject object;
object.put("app_key","");
object.put("token","");
object.put("device_id",Utils.getDeviceId());
object.put("url","");
object.put("workspace", workpath);
object.put("debug_path",debugpath);
str = object.toString();
} catch (JSONException e) {
e.printStackTrace();
}
return str;
}
开始识别
调用startFileTranscriber方法开启识别。byte[] task_id = new byte[32];
NativeNui.GetInstance().startFileTranscriber(genDialogParams(), taskId);
回调处理
onNuiEventCallback:NUI SDK事件回调,请勿在事件回调中调用SDK的接口,可能引起死锁。public void onFileTransEventCallback(Constants.NuiEvent event, final int resultCode, final int arg2, AsrResult asrResult, String taskId) {
Log.i(TAG, "event=" + event);
if (event == Constants.NuiEvent.EVENT_FILE_TRANS_RESULT) {
showText(asrView, asrResult.asrResult);
} else if (event == Constants.NuiEvent.EVENT_ASR_ERROR) {
;
}
}
取消识别NativeNui.GetInstance().cancelDialog(taskId);