|
@@ -46,7 +46,9 @@ export default defineComponent({
|
|
duration: '00:00',
|
|
duration: '00:00',
|
|
showBar: true,
|
|
showBar: true,
|
|
afterMa3: true,
|
|
afterMa3: true,
|
|
- count: 0
|
|
|
|
|
|
+ count: 0,
|
|
|
|
+ previousBytesLoaded: 0,
|
|
|
|
+ previousTime: Date.now()
|
|
});
|
|
});
|
|
const canvas: any = ref();
|
|
const canvas: any = ref();
|
|
const audio: any = ref();
|
|
const audio: any = ref();
|
|
@@ -205,6 +207,27 @@ export default defineComponent({
|
|
}}
|
|
}}
|
|
onProgress={(e: any) => {
|
|
onProgress={(e: any) => {
|
|
console.log(e, 'loadedmetadata onProgress');
|
|
console.log(e, 'loadedmetadata onProgress');
|
|
|
|
+ const currentTime = Date.now();
|
|
|
|
+ const videoElement = e.target;
|
|
|
|
+ console.log(videoElement, audio.value.buffered);
|
|
|
|
+ const currentBytesLoaded = videoElement.buffered.length
|
|
|
|
+ ? videoElement.buffered.end(0) * videoElement.duration
|
|
|
|
+ : 0;
|
|
|
|
+
|
|
|
|
+ if (currentBytesLoaded > audioForms.previousBytesLoaded) {
|
|
|
|
+ const timeDiff = (currentTime - audioForms.previousTime) / 1000; // Time difference in seconds
|
|
|
|
+ const bytesDiff =
|
|
|
|
+ currentBytesLoaded - audioForms.previousBytesLoaded; // Bytes downloaded since last check
|
|
|
|
+ const speed = bytesDiff / timeDiff; // Bytes per second
|
|
|
|
+
|
|
|
|
+ const speedInKbps = (speed / 1024).toFixed(2); // Convert to KB/s
|
|
|
|
+
|
|
|
|
+ // speedDisplay.textContent = `Download speed: ${speedInKbps} KB/s`;
|
|
|
|
+ console.log(`Download speed: ${speedInKbps} KB/s`);
|
|
|
|
+
|
|
|
|
+ audioForms.previousBytesLoaded = currentBytesLoaded;
|
|
|
|
+ audioForms.previousTime = currentTime;
|
|
|
|
+ }
|
|
}}></audio>
|
|
}}></audio>
|
|
|
|
|
|
<canvas ref={canvas}></canvas>
|
|
<canvas ref={canvas}></canvas>
|
|
@@ -269,6 +292,8 @@ export default defineComponent({
|
|
<img class={styles.playIcon} src={iconpause} />
|
|
<img class={styles.playIcon} src={iconpause} />
|
|
)}
|
|
)}
|
|
</div>
|
|
</div>
|
|
|
|
+
|
|
|
|
+ <div class={styles.downloadSpeed}>37.8M/s</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</>
|
|
</>
|
|
@@ -286,6 +311,7 @@ export default defineComponent({
|
|
<button class={styles.iconReplay} onClick={onReplay}>
|
|
<button class={styles.iconReplay} onClick={onReplay}>
|
|
<img src={iconReplay} />
|
|
<img src={iconReplay} />
|
|
</button>
|
|
</button>
|
|
|
|
+ <div class={styles.downloadSpeed}>37.8M/s</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class={styles.actions}>
|
|
<div class={styles.actions}>
|