我在页面上有一个类似于以下内容的视频元素
<video>
<source src="high-quality.webm"/>
<source src="low-quality.webm"/>
</video>
我无法确保high-quality.webm
和low-quality.webm
都可用,因此我依靠浏览器检查两者(从第一个开始)并选择可以播放的第一个。 MDN documentation说
如果未指定
type
属性,则从服务器检索媒体的类型并检查浏览器是否可以处理它;如果无法呈现,则检查下一个source
这适用于所有桌面浏览器。但在移动浏览器上,如果low-quality.webm
不存在,则不会播放high-quality.webm
。
Android Dev Tools报告以下内容:
StagefrightMetadataRetriever 无法为“my.server.com/path/to/high-quality.webm”创建数据源。
MediaResourceGetter 无效的网址:java.lang.RuntimeException:setDataSource failed:status = 0x80000000
如果我交换high-quality.webm
和low-quality.webm
(我可以确保low-quality.webm
始终可用),任何浏览器都不会查找high-quality.webm
,因为他已找到可播放的来源。< / p>
我想避免服务器端检查哪些来源可用。文档听起来像浏览器会为我做的工作。
TL;博士
你可以告诉我一种方法可以播放high-quality.webm
(如果可用),low-quality.webm
如果没有,可以在移动浏览器上播放(因为它在桌面上完美运行)?
答案 0 :(得分:0)
使用新版Chrome Mobile不再存在问题。