3 回答
TA贡献1803条经验 获得超3个赞
使用preload =“ none”,这是我在暂停视频后强制中止缓冲,然后使用jQuery在暂停的位置恢复播放的方式。
<video id="video_el" src="<video_url>" preload="none" controls="controls" />
<script>
jQuery(function() {
var video = jQuery('video').get(0);
video.addEventListener('pause',function(){
var tmp_src = video.src;
var playtime = video.currentTime;
video.src = '';
video.load();
video.src = tmp_src;
video.currentTime = playtime;
});
});
</script>
TA贡献1811条经验 获得超4个赞
关键步骤似乎是在调用之前不要将其设置src为空白值load()。我已经成功做到了这样:
var wasPlaying = !audioPlayer.paused;
audioPlayer.currentTime = 0.0; // Optional -- can be left out for pause
audioPlayer.pause();
if (wasPlaying) { // This prevents the browser from trying to load the entire source
audioPlayer.load();
}
在Win10上的Chrome和Firefox中,这都会引发中止事件。在我的特定情况下,需要关闭套接字,否则套接字将无限期保持打开状态,这导致在同一页面上使用多个播放器时,每个服务器的连接数达到六个限制。
- 3 回答
- 0 关注
- 1179 浏览
添加回答
举报