Browse Source

解决苹果手机试听无效

zhuf 1 year ago
parent
commit
590e9a9ec8
2 changed files with 24 additions and 13 deletions
  1. 7 0
      src/pages/caiji/sy/name.vue
  2. 17 13
      src/pages/caiji/sy/record/[id].vue

+ 7 - 0
src/pages/caiji/sy/name.vue

@@ -1,5 +1,7 @@
 <script setup lang='ts'>
 import request from '~/request'
+import { showFailToast } from 'vant';
+
 const router = useRouter()
 
 function onClickLeft() {
@@ -23,6 +25,7 @@ function onSubmit(values: any) {
       }
     }
   }).then(res => {
+    if(res.data.code === '1') {
     const info = res.data.one_info
     console.log('info : ', info)
     // {
@@ -60,6 +63,10 @@ function onSubmit(values: any) {
     //   "create_dateline_format": "2023-12-25 13:30:11"
     // }
     router.replace({ name: "caiji-sy-record-id", params: { id: info.axa_sycj_zdysyid_v2 } })
+  }else{
+    console.log('res.data.msg : ', res.data.msg)
+    showFailToast(res.data.msg)
+  }
   })
 };
 

+ 17 - 13
src/pages/caiji/sy/record/[id].vue

@@ -63,14 +63,15 @@ request({
   loading.value = false
 })
 
-let audio: HTMLAudioElement = new Audio();
-audio.addEventListener('ended', () => {
+// let audio = $ref<HTMLVideoElement>();
+let audio = new Audio();
+// let audio: HTMLVideoElement = document.createElement('video');
+audio!.addEventListener('ended', () => {
   console.log('播放结束')
 });
-audio.addEventListener('paused', () => {
+audio!.addEventListener('paused', () => {
   console.log('播放手动停止')
 });
-
 function breforeAudioPlay() {
   if (isRecording.value) {
     showFailToast('正在录制中,无法播放');
@@ -78,16 +79,17 @@ function breforeAudioPlay() {
   }
   if (audio) {
     console.log('停止正在进行的播放')
-    audio.pause();
+    audio!.pause();
   }
 }
 
 function playDemoAudio() {
   breforeAudioPlay()
   console.log('开始播放demo录音')
-  audio.src = list.value[current.value].demoAudio;
-  audio.load();
-  audio.play().then(() => {
+  audio!.src = list.value[current.value].demoAudio;
+  audio!.load();
+  console.log('load成功', audio)
+  audio!.play().then(() => {
     console.log('播放成功')
   }).catch((error) => {
     console.error('播放失败: ' + error);
@@ -103,9 +105,10 @@ function playUserAudio() {
     return
   }
   console.log('开始播放用户录音')
-  audio.src = userAudio.value;
-  audio.load();
-  audio.play().then(() => {
+  audio!.src = userAudio.value;
+  audio!.load();
+  console.log('load成功', audio?.outerHTML)
+  audio!.play().then(() => {
     console.log('播放成功')
   }).catch((error) => {
     console.error('播放失败: ' + error);
@@ -170,12 +173,12 @@ function stopAudioRecord() {
   mediaRecorder?.stop();
   mediaRecorder = null
 
-  const blob = new Blob(audioChunks, { type: 'video/webm' });
+  const blob = new Blob(audioChunks, { type: 'audio/mp4' });
   if (userAudio.value) {
     window.URL.revokeObjectURL(userAudio.value);
   }
   userAudio.value = window.URL.createObjectURL(blob);
-
+  console.log('用户录制音频 : ', blob.type, userAudio.value)
   isRecording.value = false
 }
 
@@ -304,4 +307,5 @@ function submitAudio() {
     </template>
 
   </div>
+  <!-- <audio ref="audio"></audio> -->
 </template>