【问题标题】:HTML5: video readystate === 4, still video is hanging during playingHTML5: video readystate === 4, 播放时静止视频挂起
【发布时间】:2020-07-20 05:20:29
【问题描述】:
我正在使用 html5 video 和 audio。
我在 readyState === 4 之后播放视频,但有时 video 仍然挂起。我不知道为什么会这样。
我希望如果视频的 readyState === 4那么视频必须流畅播放。
【问题讨论】:
标签:
javascript
html
jquery
angular
html5-video
【解决方案1】:
我在 readyState === 4 后播放视频,但仍有一段时间视频挂起。
readyState of HAVE_ENOUGH_DATA (4) 并不意味着不会发生缓冲区欠载。这只是意味着浏览器当前预测它不会。此预测基于流的平均比特率、最近下载数据的速度以及播放缓冲区的当前状态。
如果网络条件发生变化,此预测将不再有效。例如,浏览器无法预测您在建筑物周围走动并失去蜂窝或 WiFi 覆盖,并且无法继续流式传输。互联网也是一个非常恶劣的网络条件......事情总是出错,负载变化,因此可用带宽总是在不断变化。
除了readyState 发生变化时更积极地选择较低比特率的视频之外,您真的无能为力。