0

我在页面上有一个视频元素,如下所示

<video>
  <source src="high-quality.webm"/>
  <source src="low-quality.webm"/>
</video>

我无法确保两者high-quality.webmlow-quality.webm可用,所以我依靠浏览器检查两者(从第一个开始)并取第一个可以播放的。MDN 文档

如果type未指定属性,则从服务器检索媒体类型并检查浏览器是否可以处理它;如果无法渲染,source则检查下一个

这适用于所有桌面浏览器。但在移动浏览器上,low-quality.webm如果high-quality.webm不存在则不会播放。

Android 开发工具报告如下:

StagefrightMetadataRetriever无法为“my.server.com/path/to/high-quality.webm”创建数据源。

MediaResourceGetter无效的 url:java.lang.RuntimeException:setDataSource 失败:状态 = 0x80000000

如果我交换high-quality.webm并且low-quality.webm(我可以确保low-quality.webm始终可用)没有浏览器会寻找,high-quality.webm因为他已经找到了可播放的源。

我想避免服务器端检查哪些来源可用。文档听起来像是浏览器会为我完成这项工作。

tl;博士

你能告诉我一种在移动浏览器上high-quality.webm是否可用的播放方式(因为它可以在桌面上完美运行)?low-quality.webm

4

1 回答 1

0

使用新版本的 Chrome Mobile 不再是问题。

于 2013-09-11T06:07:32.950 回答