| 
					
				 | 
			
			
				@@ -75,8 +75,8 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const videoRef = ref();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const videoItem = ref();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const videoID = ref('video' + Date.now() + Math.floor(Math.random() * 100));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const videoSlider =
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      'videoSlider' + Date.now() + Math.floor(Math.random() * 100);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // const videoSlider =
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //   'videoSlider' + Date.now() + Math.floor(Math.random() * 100);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 对时间进行格式化
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const timeFormat = (num: number) => {
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -298,7 +298,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const currentTime = Date.now();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const buffered = element.buffered;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let currentBytesLoaded = 0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let currentLength = 0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const currentLength = 0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 计算视频已缓存的总时长
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let cachedDuration = 0;
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -312,15 +312,15 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               [buffered.start(i), buffered.end(i)]
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ]);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          for (let i = 0; i < buffered.length; i++) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // 寻找当前时间之后最近的点
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (buffered.start(buffered.length - 1 - i) < element.currentTime) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              cachedDuration += buffered.end(i) - buffered.start(i);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              currentLength =
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                (buffered.end(buffered.length - 1 - i) / duration) * 100;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              break;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // for (let i = 0; i < buffered.length; i++) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          //   // 寻找当前时间之后最近的点
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          //   if (buffered.start(buffered.length - 1 - i) < element.currentTime) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          //     cachedDuration += buffered.end(i) - buffered.start(i);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          //     currentLength =
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          //       (buffered.end(buffered.length - 1 - i) / duration) * 100;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          //     break;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          //   }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           currentBytesLoaded *= element.duration * element.seekable.end(0); // 更精确地近似字节加载量
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -333,29 +333,29 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (duration) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          const sliderDom: any = document.querySelector(
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            '#' + videoSlider + ' .n-slider'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          );
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if (sliderDom) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            sliderDom.style.setProperty(
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              '--catch-width',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              uncachedDuration > 0 ? `${currentLength}%` : 'calc(100% + 17px)'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            );
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          console.log(
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            uncachedTime,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            duration,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            cachedDuration,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'duration',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            buffterCatchArray,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            element.currentTime,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            currentLength + '%',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            isWaiting,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            currentBytesLoaded <= previousBytesLoaded
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          );
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // if (duration) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   const sliderDom: any = document.querySelector(
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //     '#' + videoSlider + ' .n-slider'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   );
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   if (sliderDom) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //     sliderDom.style.setProperty(
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //       '--catch-width',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //       uncachedDuration > 0 ? `${currentLength}%` : 'calc(100% + 17px)'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //     );
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          uncachedTime,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          duration,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cachedDuration,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          'duration',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          buffterCatchArray,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          element.currentTime,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          currentLength + '%',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          isWaiting,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          currentBytesLoaded <= previousBytesLoaded
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        );
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const isNoBuffer = currentBytesLoaded <= previousBytesLoaded;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 如果存在未缓存的时间段,可以根据具体情况做出相应处理
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -578,7 +578,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             emit('close');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             emit('reset');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <div class={styles.slider} id={videoSlider}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class={styles.slider}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <NSlider
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               value={videoFroms.currentTimeNum}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               step={0.01}
 
			 |