HTML中音频或者视频的缓存进度的获取
现在的要求就是点击播放后,视频或者音频没有加载完成,显示加载中,并且显示加载的进度。加载的进度该怎么获取呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
现在的要求就是点击播放后,视频或者音频没有加载完成,显示加载中,并且显示加载的进度。加载的进度该怎么获取呢?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
谢邀。
HTML的原生视频/音频标签本身就支持缓存显示功能,但是前提是你的source支持边下边播。
你用的播放模式是什么?
是用HTML的原生标签<video>吗?
如果是的话,source是用的静态URL吗?
然后如果是的话,是无法实现你要的功能的。
如果想实现你要的功能,首先要做到边下边播,这里一般最多也最方便的做法是使用rtmp+httpflv协议。
这样你就可以通过动态的httpurl来播放rtmp视频,并实现边下边播。
如果你用的是Java来写服务器,建议使用red5。
另外的话,有个简单的方法可以粗略地解决这个问题,就是preload属性,把它开启。
1.可以利用video.buffer属性返回TimeRanges 对象,表示用户视频缓冲范围。不过会得到多个缓冲范围,以最后一个为主。
2.利用video.duration获取总时长;
3.两者做对比,可以得到下载进度。即:video.buffered.end(video.buffered.length-1)/video.duration
建议仔细看下TimeRanges对象的相关属性