Browse Source

fix: 短语音实时识别

sibichiAi
高志龙 8 months ago
parent
commit
d97c63380e
  1. 27
      app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java
  2. 6
      app/src/main/java/qianmu/container/receiver/SystemEventReceiver.java
  3. 1
      app/src/main/java/qianmu/container/util/TTSUtil.java

27
app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java

@ -76,14 +76,14 @@ public class WebViewActivity extends BaseActivity {
static final int TYPE_GO_SAVESCREEN = 300;//导视通知跳转屏保
static final int TYPE_HINT_PASSWORD = 3;//隐藏密码输入框
static final int TYPE_START_SERVER = 4;//重新启动web服务
static String HtmlUrl = "http://127.0.0.1:8080/index.html";//webServer服务地址 http://192.168.1.218:5173/
//static String HtmlUrl = "http://192.168.1.196:5173/";
//static String HtmlUrl = "http://127.0.0.1:8080/index.html";//webServer服务地址 http://192.168.1.218:5173/
static String HtmlUrl = "http://192.168.1.196:5173/";
int time = 0;
private VideoView currentVideo;
// 语音听写对象
private AICloudASREngine mEngine;
private AICloudASRIntent aiCloudASRIntent;
AICloudASRIntent aiCloudASRIntent;
private TTSUtil ttsUtil;
Handler handler = new Handler() {
@ -455,6 +455,7 @@ public class WebViewActivity extends BaseActivity {
LoggerUtil.e(TAG,"JS调用了Android的方法:startRecord()");
if("sbc".equals(Constant.TTSFac)) {
ttsUtil.stopTTs();
stopAsr();
if(mEngine == null){
LoggerUtil.d(TAG, "未初始化");
initASR();
@ -565,12 +566,13 @@ public class WebViewActivity extends BaseActivity {
config.setVadResource("vad_aihome_v0.11.bin");
mEngine = AICloudASREngine.createInstance();
aiCloudASRIntent = new AICloudASRIntent();
aiCloudASRIntent.setEnablePunctuation(true);
aiCloudASRIntent.setRealback(true);//打开实时反馈功能
aiCloudASRIntent.setResourceType("aihome");
aiCloudASRIntent.setEnableNumberConvert(true);//设置启用识别结果汉字数字转阿拉伯数字功能
aiCloudASRIntent.setWaitingTimeout(5000);//设置等待识别结果超时时长,默认5000ms
aiCloudASRIntent.setNoSpeechTimeOut(2000);
aiCloudASRIntent.setPauseTime(1000);
aiCloudASRIntent.setWaitingTimeout(5000); //设置等待识别结果超时时长,默认5000ms
aiCloudASRIntent.setNoSpeechTimeOut(3000);
aiCloudASRIntent.setPauseTime(2000);
mEngine.init(config, new AIASRListenerImpl());
}
}
@ -590,11 +592,16 @@ public class WebViewActivity extends BaseActivity {
}
public void onResults(AIResult results) {
LoggerUtil.e("ASRInit: ", String.valueOf(results.isLast()));
if (results.getResultType() == AIConstant.AIENGINE_MESSAGE_TYPE_JSON) {
JSONResultParser parser = new JSONResultParser((String) results.getResultObject());
if("".equals(parser.getAllText())) {
if("".equals(parser.getVar())){
voiceContent(parser.getText());
}else{
voiceContent(parser.getVar());
}
LoggerUtil.e("ASRInit: ", "var:"+parser.getVar()+"Text: "+parser.getText());
LoggerUtil.e("results: ", results.getResultObject().toString());
}
}
@ -622,6 +629,7 @@ public class WebViewActivity extends BaseActivity {
@Override
public void onEndOfSpeech() {
//本地vad打开时,才会执行
stopAsr();
runOnUiThread(new Runnable() {
@Override
public void run() {
@ -643,7 +651,7 @@ public class WebViewActivity extends BaseActivity {
@Override
public void onRmsChanged(float rmsdB) {
Log.d(TAG, "" + rmsdB);
LoggerUtil.e("ASRInit: ", "" + rmsdB);
}
@Override
@ -674,8 +682,9 @@ public class WebViewActivity extends BaseActivity {
}
}
private void stopAsr(){
if(mEngine!=null){
if(mEngine != null){
mEngine.cancel();
mEngine.stop();
}
}

6
app/src/main/java/qianmu/container/receiver/SystemEventReceiver.java

@ -25,9 +25,9 @@ public class SystemEventReceiver extends BroadcastReceiver {
switch (intent.getAction()) {
case Intent.ACTION_BOOT_COMPLETED://系统启动
intent.setClass(context, UpdateFileActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
//intent.setClass(context, UpdateFileActivity.class);
//intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//context.startActivity(intent);
break;
case Intent.ACTION_MEDIA_MOUNTED://挂载外部存储

1
app/src/main/java/qianmu/container/util/TTSUtil.java

@ -101,7 +101,6 @@ public class TTSUtil {
LoggerUtil.d(TAG, "未初始化");
initTts();
}
LoggerUtil.e(TAG, texts);
mEngine.speak(intent, texts, "1024");
}

Loading…
Cancel
Save