|
@@ -154,6 +154,7 @@ export default defineComponent({
|
|
|
let previousBytesLoaded = 0;
|
|
|
let timer: any = null;
|
|
|
let previousTime = Date.now();
|
|
|
+ let isWaiting = false;
|
|
|
|
|
|
// 缓存检测状态
|
|
|
let isBuffering = false;
|
|
@@ -235,6 +236,32 @@ export default defineComponent({
|
|
|
|
|
|
buffterCatch();
|
|
|
});
|
|
|
+ element.addEventListener('waiting', () => {
|
|
|
+ console.log('waiting');
|
|
|
+ isWaiting = true;
|
|
|
+
|
|
|
+ if (!element.paused) {
|
|
|
+ // 如果1秒钟没有返回就重置数据
|
|
|
+ clearTimeout(timer);
|
|
|
+ resetDownloadSpeed();
|
|
|
+ }
|
|
|
+
|
|
|
+ // 如果有缓存检测计时器,则清除它
|
|
|
+ if (bufferTimeout) {
|
|
|
+ clearTimeout(bufferTimeout);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ element.addEventListener('canplay', () => {
|
|
|
+ console.log('canplay');
|
|
|
+ isWaiting = false;
|
|
|
+ // 如果有缓存检测计时器,则清除它
|
|
|
+ if (bufferTimeout) {
|
|
|
+ clearTimeout(bufferTimeout);
|
|
|
+ }
|
|
|
+ // 标记为正在缓存
|
|
|
+ isBuffering = true;
|
|
|
+ buffterCatch();
|
|
|
+ });
|
|
|
|
|
|
element.addEventListener('pause', () => {
|
|
|
clearTimeout(timer);
|