Commit 59683e06b8aa9420402b5ee95127b912d341d55c
Merge branch 'ft' into 'main_dev'
fix: 修复videojs切换至其他页面,返回播放界面,视频时延问题 See merge request yunteng/thingskit-front!1207
Showing
1 changed file
with
20 additions
and
0 deletions
... | ... | @@ -72,6 +72,26 @@ |
72 | 72 | videoPlayInstance.value = videoJs(unref(videoPlayEl)!, unref(getOptions), () => { |
73 | 73 | emit('ready', unref(videoPlayInstance)); |
74 | 74 | }); |
75 | + //fix 修复videojs解决直播延时的问题 | |
76 | + videoPlayInstance.value?.on('timeupdate', function () { | |
77 | + // 计算表最新推流的时间和现在播放器播放推流的时间 | |
78 | + let differTime = | |
79 | + (videoPlayInstance.value as any as VideoJsPlayer)?.buffered()?.end(0) - | |
80 | + (videoPlayInstance.value as any as VideoJsPlayer)?.currentTime(); | |
81 | + // 差值小于1.5s时根据1倍速进行播放 | |
82 | + if (differTime < 1.5) { | |
83 | + videoPlayInstance.value?.playbackRate(1); | |
84 | + } | |
85 | + // 差值大于1.5s小于10s根据1.2倍速进行播放 | |
86 | + if (differTime < 10 && differTime > 1.5) { | |
87 | + videoPlayInstance.value?.playbackRate(1.2); | |
88 | + } | |
89 | + // 差值大于10s时进行重新加载直播流 | |
90 | + if (differTime > 10) { | |
91 | + init(); | |
92 | + } | |
93 | + }); | |
94 | + // | |
75 | 95 | }; |
76 | 96 | |
77 | 97 | const customInit = (getOptionsFn: (optios: VideoJsPlayerOptions) => VideoJsPlayerOptions) => { | ... | ... |