|
@@ -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}
|