From 3c6667476251dc573d5e42577b1ea931d638cc27 Mon Sep 17 00:00:00 2001 From: gaozl Date: Mon, 29 Sep 2025 13:21:37 +0800 Subject: [PATCH] fix: init --- app/build.gradle | 4 +- .../activity/H5/WebViewActivity.java | 44 +++++++++++-------- .../java/qianmu/container/app/Constant.java | 2 +- 3 files changed, 28 insertions(+), 22 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 386ae45..6cf8981 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,7 +10,7 @@ android { minSdkVersion 22 targetSdkVersion 30 versionCode 6 - versionName "V2.0.7.32" + versionName "V2.0.7.30" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles 'consumer-rules.pro' @@ -97,7 +97,7 @@ dependencies { implementation files('libs\\shockman.jar')//指路机 implementation files('libs\\signway.jar') //欣威视通 implementation files('libs\\sdkapi.jar') //Bv-3588 - implementation files('libs\\smdt.jar') //视美泰 + implementation files('libs\\smdt.jar')//视美泰 testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test.ext:junit:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' diff --git a/app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java b/app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java index c38dac7..c2084a7 100644 --- a/app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java +++ b/app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java @@ -6,6 +6,7 @@ import android.content.Context; import android.content.Intent; import android.media.MediaPlayer; import android.net.Uri; +import android.os.Build; import android.os.Bundle; import android.os.Debug; import android.os.Handler; @@ -32,16 +33,11 @@ import androidx.recyclerview.widget.GridLayoutManager; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.launcher.ARouter; import com.google.gson.Gson; -import com.iflytek.cloud.ErrorCode; -import com.iflytek.cloud.InitListener; -import com.iflytek.cloud.RecognizerListener; -import com.iflytek.cloud.RecognizerResult; -import com.iflytek.cloud.SpeechConstant; -import com.iflytek.cloud.SpeechError; -import com.iflytek.cloud.SpeechRecognizer; -import com.iflytek.cloud.SpeechUtility; import com.iflytek.sparkchain.core.asr.ASR; import com.iflytek.sparkchain.core.asr.AsrCallbacks; +import com.iflytek.sparkchain.core.asr.Segment; +import com.iflytek.sparkchain.core.asr.Transcription; +import com.iflytek.sparkchain.core.asr.Vad; import com.shockman.sm.vendor.IHttp; import com.shockman.sm.vendor.SmUtils; import com.shockman.sm.vendor.TargetVo; @@ -101,7 +97,7 @@ public class WebViewActivity extends BaseActivity { 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:5500/index.html"; + //static String HtmlUrl = "http://192.168.1.196:5173/"; int time = 0; private VideoView currentVideo; SocketClient localSocketClient; @@ -278,7 +274,9 @@ public class WebViewActivity extends BaseActivity { currentVideo.setVisibility(View.GONE); currentVideo.clearAnimation(); currentVideo = nextVideo; - currentVideo.start(); + if (!currentVideo.isPlaying()) { + currentVideo.start(); + } } @Override public void onAnimationRepeat(Animation animation) {} @@ -295,6 +293,7 @@ public class WebViewActivity extends BaseActivity { Log.e("WebViewActivity", "setData"); WebSettings webSettings = binding.web.getSettings(); webSettings.setJavaScriptEnabled(true); + webSettings.setDomStorageEnabled(true); webSettings.setUseWideViewPort(true); webSettings.setLoadWithOverviewMode(true); webSettings.setSupportZoom(false); @@ -302,10 +301,16 @@ public class WebViewActivity extends BaseActivity { webSettings.setDisplayZoomControls(false); webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); webSettings.setAllowFileAccess(true); - webSettings.setJavaScriptCanOpenWindowsAutomatically(true); webSettings.setLoadsImagesAutomatically(true); webSettings.setDefaultTextEncodingName("utf-8"); webSettings.setUserAgentString(""); + webSettings.setMediaPlaybackRequiresUserGesture(false); // 允许自动播放 + + // 适配HTTPS/HTTP混合内容 + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE); + } + //加载web currRoute = Constant.ROUTE_WEB_VIEW; loadH5Url(getIntent().getBooleanExtra(Constant.KEY_LOAD_H5_URL, false)); @@ -478,16 +483,11 @@ public class WebViewActivity extends BaseActivity { if("sbc".equals(Constant.TTSFac)) { localSocketClient.send(StringUtil.strSplice("{\"method\":\"/tts/stop\"}")); localSocketClient.send(StringUtil.strSplice("{\"method\":\"/asr/start\"}")); - runOnUiThread(new Runnable() { - @Override - public void run() { - changeVideo("bg"); - } - }); }else{ if(isrun){ return; } + ttsUtil.stopTTs(); if(mAsr == null){ LoggerUtil.d(TAG, "未初始化"); initASR(); @@ -500,6 +500,12 @@ public class WebViewActivity extends BaseActivity { isrun = true; } } + runOnUiThread(new Runnable() { + @Override + public void run() { + changeVideo("bg"); + } + }); } // h5调用android:停止识别语音 @JavascriptInterface @@ -633,7 +639,7 @@ public class WebViewActivity extends BaseActivity { runOnUiThread(new Runnable() { @Override public void run() { - binding.web.loadUrl(StringUtil.strSplice("javascript:window.youAskOver('"+"');")); + binding.web.evaluateJavascript("javascript: window.youAskOver('');", null); } }); stopAsr(); @@ -650,7 +656,7 @@ public class WebViewActivity extends BaseActivity { runOnUiThread(new Runnable() { @Override public void run() { - binding.web.loadUrl(StringUtil.strSplice("javascript:window.youAskOver('"+"');")); + binding.web.evaluateJavascript("javascript: window.youAskOver('');", null); } }); } diff --git a/app/src/main/java/qianmu/container/app/Constant.java b/app/src/main/java/qianmu/container/app/Constant.java index 0186258..8d75107 100644 --- a/app/src/main/java/qianmu/container/app/Constant.java +++ b/app/src/main/java/qianmu/container/app/Constant.java @@ -33,7 +33,7 @@ public class Constant { // public static String androidBoardType = "bv"; //设备板子型号 Bv-3588M public static String androidBoardType = "smt"; //设备板子型号 视美泰 - public static String TTSFac = "sbc"; // 语音识别厂家 ksxf--科大讯飞 sbc-思必驰 + public static String TTSFac = "sbc"; // 语音识别厂家 kdxf--科大讯飞 sbc-思必驰 public static final String VOID_STOP = "void_stop";// public static String whoActivity = ""; // 哪个activity页面 // 本地缓存地址