lex 11 mēneši atpakaļ
vecāks
revīzija
d4b691840b

+ 20 - 19
src/views/attend-class/component/audio-pay.tsx

@@ -56,8 +56,8 @@ export default defineComponent({
     const canvas: any = ref();
     const audio: any = ref();
     let vudio: any = null;
-    const videoSlider =
-      'videoSlider' + Date.now() + Math.floor(Math.random() * 100);
+    const audioSlider =
+      'audioSlider' + Date.now() + Math.floor(Math.random() * 100);
 
     // 切换音频播放
     const onToggleAudio = (e?: any) => {
@@ -268,7 +268,7 @@ export default defineComponent({
           });
           if (duration) {
             const sliderDom: any = document.querySelector(
-              '#' + videoSlider + ' .n-slider'
+              '#' + audioSlider + ' .n-slider'
             );
             if (sliderDom) {
               sliderDom.style.setProperty(
@@ -276,17 +276,20 @@ export default defineComponent({
                 uncachedDuration > 0 ? `${currentLength}%` : 'calc(100% + 17px)'
               );
             }
-            // console.log(
-            //   uncachedTime,
-            //   duration,
-            //   cachedDuration,
-            //   'duration',
-            //   buffterCatchArray,
-            //   element.currentTime,
-            //   bufferedLength
-            // );
+            console.log(
+              uncachedTime,
+              duration,
+              cachedDuration,
+              'duration',
+              buffterCatchArray,
+              element.currentTime,
+              currentLength + '%',
+              isWaiting,
+              currentBytesLoaded <= previousBytesLoaded
+            );
           }
 
+          const isNoBuffer = currentBytesLoaded <= previousBytesLoaded;
           // console.log(
           //   'progress',
           //   currentBytesLoaded,
@@ -327,17 +330,18 @@ export default defineComponent({
               noData = false;
             }
 
-            if (currentBytesLoaded <= previousBytesLoaded && !uncachedTime) {
+            if (isNoBuffer && !uncachedTime) {
               // 如果1秒钟没有返回就重置数据
 
               if (!noData) {
                 clearTimeout(timer);
+                clearTimeout(bufferTimeout);
                 setTimeout(() => {
                   if (isBuffering) {
                     // 如果计时器到达且isBuffering仍为true,则认为缓存停止
-                    console.log('停止缓存数据');
+                    console.log('停止缓存数据');
                     isBuffering = false;
-                    videoFroms.speedInKbps = '';
+                    audioForms.speedInKbps = '';
                   }
                 }, 800);
               }
@@ -469,9 +473,6 @@ export default defineComponent({
                 };
               }
               emit('loadedmetadata', audio.value);
-            }}
-            onProgress={(e: any) => {
-              console.log(e, 'loadedmetadata onProgress');
             }}></audio>
 
           <canvas ref={canvas}></canvas>
@@ -493,7 +494,7 @@ export default defineComponent({
             e.stopPropagation();
             emit('reset');
           }}>
-          <div class={styles.slider} id={videoSlider}>
+          <div class={styles.slider} id={audioSlider}>
             <NSlider
               value={audioForms.currentTimeNum}
               step={0.01}

+ 1 - 1
src/views/attend-class/component/audio.module.less

@@ -171,7 +171,7 @@
       bottom: 0;
       left: -8Px;
       // right: -8Px;
-      background-color: #c4c4c4;
+      background-color: #909090;
     }
   }
 }

+ 4 - 5
src/views/attend-class/component/video-play.tsx

@@ -360,6 +360,7 @@ export default defineComponent({
             );
           }
 
+          const isNoBuffer = currentBytesLoaded <= previousBytesLoaded;
           // 如果存在未缓存的时间段,可以根据具体情况做出相应处理
           if (uncachedDuration > 0) {
             // console.log(
@@ -397,18 +398,16 @@ export default defineComponent({
               previousBytesLoaded = currentBytesLoaded;
               previousTime = currentTime;
               noData = false;
-              console.log('-------');
             }
-            console.log(noData, 'noData');
-            if (currentBytesLoaded <= previousBytesLoaded && !uncachedTime) {
+            if (isNoBuffer && !uncachedTime) {
               // 如果1秒钟没有返回就重置数据
-
               if (!noData) {
                 clearTimeout(timer);
+                clearTimeout(bufferTimeout);
                 setTimeout(() => {
                   if (isBuffering) {
                     // 如果计时器到达且isBuffering仍为true,则认为缓存停止
-                    console.log('停止缓存数据。');
+                    console.log('停止缓存数据-。');
                     isBuffering = false;
                     videoFroms.speedInKbps = '';
                   }

+ 1 - 1
src/views/attend-class/component/video.module.less

@@ -164,7 +164,7 @@
         bottom: 0;
         left: -8Px;
         // right: -8Px;
-        background-color: #c4c4c4;
+        background-color: #909090;
       }
     }
   }