SanHQin 1 day ago
parent
commit
c71d8b485e

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
     html,
     body{
       font-family: '黑体';
-    }</style><link href=./static/css/app.a4948a5d1e416dceb3903b6bc3c3f593.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.becc9317549795ada446.js></script><script type=text/javascript src=./static/js/app.afbd896745d230beb5b7.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.690252b046c7707d94a06b85eef49a0a.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.becc9317549795ada446.js></script><script type=text/javascript src=./static/js/app.b2b68d534d916d3c9181.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.690252b046c7707d94a06b85eef49a0a.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.690252b046c7707d94a06b85eef49a0a.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.b2b68d534d916d3c9181.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.b2b68d534d916d3c9181.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map


+ 26 - 12
src/components/pptEasyClass/index.vue

@@ -283,19 +283,33 @@ export default {
       };
 
       iiframe.contentWindow.ConversationTranscriber();
-      setTimeout(()=>{
-        navigator.permissions && navigator.permissions.query({ name: 'microphone' }).then(permissionStatus => {
-        if (permissionStatus.state !== "granted") {
-          // 没有开启录音权限,直接确定停止录音
-          this.recordedForm.status = "0";
-          let iframe = this.$refs["iiframe"];
-          iframe.contentWindow.onSessionStopped = null;
-          iframe.contentWindow.window.onRecognizedResult = null;
-          this.$message.success(this.lang.ssNoPermStop);
-          return;
+      // 优化录音权限检测和处理流程,防止多次触发和潜在异常
+      setTimeout(async () => {
+        try {
+          if (navigator.permissions) {
+            const permissionStatus = await navigator.permissions.query({ name: 'microphone' });
+            if (permissionStatus.state !== "granted") {
+              // 没有开启录音权限,直接确定停止录音
+              this.recordedForm.status = "0";
+              const iframe = this.$refs["iiframe"];
+              if (iframe && iframe.contentWindow) {
+                if (typeof iframe.contentWindow.onSessionStopped !== "undefined") {
+                  iframe.contentWindow.onSessionStopped = null;
+                }
+                if (iframe.contentWindow.window && typeof iframe.contentWindow.window.onRecognizedResult !== "undefined") {
+                  iframe.contentWindow.window.onRecognizedResult = null;
+                }
+              }
+              if (this.$message && this.lang && this.lang.ssNoPermStop) {
+                this.$message.success(this.lang.ssNoPermStop);
+              }
+              return;
+            }
+          }
+        } catch (error) {
+          console.error('麦克风权限检测异常:', error);
         }
-      })
-      },10000)
+      }, 10000);
 
     },
     async onFinishRecordWithMicrosoft() {

Some files were not shown because too many files changed in this diff