From c8124eac72eff79588de4d36c2447337e06256d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=85=E6=A1=89?= Date: Thu, 27 Feb 2020 00:14:58 +0800 Subject: [PATCH] Update classic.php --- theme/classic.php | 48 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/theme/classic.php b/theme/classic.php index 1a844d3..23cb488 100644 --- a/theme/classic.php +++ b/theme/classic.php @@ -637,16 +637,44 @@ ); } function createDplayers(videos) { - for (i = 0; i < videos.length; i++) { - console.log(videos[i]); - new DPlayer({ - container: document.getElementById('video-a' + i), - screenshot: true, - video: { - url: videos[i] - } - }); - } + var url = '' , subtitle = url.replace(/\.[^\.]+?(\?|$)/,'.vtt$1'); + var dp = new DPlayer({ + container: document.getElementById('video-a0'), + autoplay: false, + screenshot: true, + hotkey: true, + volume: 1, + preload: 'auto', + mutex: true, + video:{ + url: url, + }, + subtitle: { + url: subtitle, + fontSize: '25px', + bottom: '7%', + }, + }); + // 防止出现401 token过期 + dp.on('error', function () { + console.log('获取资源错误,开始重新加载!'); + let last = dp.video.currentTime; + dp.video.src = url; + dp.video.load(); + dp.video.currentTime = last; + dp.play(); + }); + // 如果是播放状态 & 没有播放完 每25分钟重载视频防止卡死 + setInterval(function () { + if (!dp.video.paused && !dp.video.ended) { + console.log('开始重新加载!'); + let last = dp.video.currentTime; + dp.video.src = url; + dp.video.load(); + dp.video.currentTime = last; + dp.play(); + } + }, 1000 * 60 * 25) } addVideos(['']);