Commit d3b756175cb040cf85f999e609fd006e28ffb999
Merge branch 'fix/video-time-delay' into 'main_dev'
fix: 修复videojs切换至其他页面,返回播放界面,视频时延问题 See merge request yunteng/thingskit-view!189
Showing
1 changed file
with
16 additions
and
1 deletions
... | ... | @@ -125,7 +125,22 @@ const initVideo = async () => { |
125 | 125 | } |
126 | 126 | } |
127 | 127 | } |
128 | - videoPlayer = videojs(videoRef.value, options) | |
128 | + videoPlayer = videojs(videoRef.value, options) //fix 修复videojs解决直播延时的问题 | |
129 | + videoPlayer?.on('timeupdate', function () { | |
130 | + // 计算表最新推流的时间和现在播放器播放推流的时间 | |
131 | + let differTime = | |
132 | + (videoPlayer as any as videojs.Player)?.buffered()?.end(0) - | |
133 | + (videoPlayer as any as videojs.Player)?.currentTime() // 差值小于1.5s时根据1倍速进行播放 | |
134 | + if (differTime < 1.5) { | |
135 | + videoPlayer?.playbackRate(1) | |
136 | + } // 差值大于1.5s小于10s根据1.2倍速进行播放 | |
137 | + if (differTime < 10 && differTime > 1.5) { | |
138 | + videoPlayer?.playbackRate(1.2) | |
139 | + } // 差值大于10s时进行重新加载直播流 | |
140 | + if (differTime > 10) { | |
141 | + initVideo() | |
142 | + } | |
143 | + }) // | |
129 | 144 | } |
130 | 145 | } |
131 | 146 | } | ... | ... |