我正在一个可以在两个或多个视频之间切换的项目中工作。
因此,如果 Video-A 正在播放,我切换到视频-B 我希望能够停止缓冲 Video-A ,开始缓冲并播放视频-B 。然后,如果您想返回视频-B ,请停止 B 并恢复 A ,而无需再次开始缓冲。
我想阻止App一次缓冲多个视频以节省带宽。
到目前为止,我找到的唯一解决方案是删除视频源并重新放入。
video.src = ""
我不喜欢这个解决方案。我希望在视频API中提供此功能,例如:
video.stopBuffering()
vide.resumeBuffering()
但似乎并非如此。有任何想法吗?
答案 0 :(得分:2)
没有API公开方法可以做到这一点,而且几乎完全取决于浏览器如何处理实际的加载/缓冲策略(有一些已定义的步骤,但策略不是这样)。
下载率也可能会被自动限制 用户代理,例如平衡下载与其他连接 共享相同的带宽。
用户代理可能决定不会随时下载更多内容,例如 在缓冲五分钟的一小时媒体资源之后,同时 等待用户决定是否播放资源, 在等待交互式资源[...]
中的用户输入时
和
用户代理可以使用获取资源所需的任何方法 (在本规范和其他规范提出的限制范围内); 例如,面对网络错误重新连接到服务器, 使用HTTP范围检索请求或切换到流式传输 协议。用户代理必须仅考虑错误的资源 已经放弃了尝试获取它。
您可以随时暂停视频。这可能会使浏览器在几秒钟后暂停下载数据,但同样,浏览器如何实际处理这一点。
因此,总而言之:无论我们喜欢与否,它都是这样的。
答案 1 :(得分:1)
媒体preload
属性对于探索很有用,尽管它只能用于in some browsers。
HTML5规范似乎预测了您的确切用例: http://www.w3.org/TR/html5/embedded-content-0.html#attr-media-preload
注意:作者可能会将属性从“无”或“元数据”切换为“自动” 用户开始播放后动态显示。例如,在带有的页面上 许多视频可能用于表示许多视频 除非有要求,否则不得下载,但一旦请求,则不得下载 它是积极下载的。