Pārlūkot izejas kodu

修改下行显示

lex 1 gadu atpakaļ
vecāks
revīzija
158a9761a4

+ 18 - 8
src/views/courseware-play/component/audio-item/index.tsx

@@ -49,7 +49,7 @@ export default defineComponent({
   setup(props, { emit }) {
     const { item, isEmtry } = toRefs(props);
     const data = reactive({
-      speedInKbps: '0 KB/s',
+      speedInKbps: '',
       timer: null as any,
       currentTime: 0,
       duration: 0.1,
@@ -271,13 +271,14 @@ export default defineComponent({
           const bytesDiff = currentBytesLoaded - previousBytesLoaded; // 字节差值
           const speed = bytesDiff / timeDiff; // 字节每秒
 
-          const kbps = speed / 1024;
-          console.log(kbps, speed);
-          const speedInKbps = kbps.toFixed(2); // 转换为千字节每秒并保留两位小数
-          if (kbps > 1024) {
-            data.speedInKbps = `${Number((kbps / 1024).toFixed(2))} M/s`;
-          } else {
-            data.speedInKbps = `${Number(speedInKbps)} KB/s`;
+          if (!element.paused) {
+            const kbps = speed / 1024;
+            const speedInKbps = kbps.toFixed(2); // 转换为千字节每秒并保留两位小数
+            if (kbps > 1024) {
+              data.speedInKbps = `${Number((kbps / 1024).toFixed(2))} M/s`;
+            } else {
+              data.speedInKbps = `${Number(speedInKbps)} KB/s`;
+            }
           }
 
           previousBytesLoaded = currentBytesLoaded;
@@ -297,6 +298,15 @@ export default defineComponent({
 
         buffterCatch();
       });
+
+      element.addEventListener('pause', () => {
+        clearTimeout(timer);
+        // 如果有缓存检测计时器,则清除它
+        if (bufferTimeout) {
+          clearTimeout(bufferTimeout);
+        }
+        data.speedInKbps = '';
+      });
     };
 
     onMounted(() => {

+ 18 - 7
src/views/courseware-play/component/video-item/index.tsx

@@ -62,7 +62,7 @@ export default defineComponent({
     const videoItem = ref();
     const { item, isEmtry } = toRefs(props);
     const data = reactive({
-      speedInKbps: '0 KB/s',
+      speedInKbps: '',
       timer: null as any,
       currentTime: 0,
       duration: 0,
@@ -290,12 +290,14 @@ export default defineComponent({
 
           console.log(timeDiff, bytesDiff, speed);
 
-          const kbps = speed / 1024;
-          const speedInKbps = kbps.toFixed(2); // 转换为千字节每秒并保留两位小数
-          if (kbps > 1024) {
-            data.speedInKbps = `${Number((kbps / 1024).toFixed(2))} M/s`;
-          } else {
-            data.speedInKbps = `${Number(speedInKbps)} KB/s`;
+          if (!element.paused) {
+            const kbps = speed / 1024;
+            const speedInKbps = kbps.toFixed(2); // 转换为千字节每秒并保留两位小数
+            if (kbps > 1024) {
+              data.speedInKbps = `${Number((kbps / 1024).toFixed(2))} M/s`;
+            } else {
+              data.speedInKbps = `${Number(speedInKbps)} KB/s`;
+            }
           }
 
           previousBytesLoaded = currentBytesLoaded;
@@ -315,6 +317,15 @@ export default defineComponent({
 
         buffterCatch();
       });
+
+      element.addEventListener('pause', () => {
+        clearTimeout(timer);
+        // 如果有缓存检测计时器,则清除它
+        if (bufferTimeout) {
+          clearTimeout(bufferTimeout);
+        }
+        data.speedInKbps = '';
+      });
     };
 
     onMounted(() => {