如何检测HTML5视频中没有可用的格式?

时间:2015-01-31 13:54:27

标签: html5 video format fallback

此代码显示不支持video元素的旧浏览器的消息。

<video controls>
    <source src="./foo.mp4" />
    <p>Use new browser.</p>
</video>

Firefox在Windows 7+中支持video元素和MP4 / H.264格式,但在Windows XP中不支持该格式。

我想向Windows XP用户显示安装插件的消息。

1 个答案:

答案 0 :(得分:0)

一种方法(如果我正确理解了这个问题)就是让你的视频元素具有默认的回退机制,然后使用JavaScript补充它以进行特定的格式检测,如果你找不到支持的格式,即使视频元素在那里显示备用消息

canPlayType(format) 

测试浏览器是否可以播放特定类型的视频,例如'video/webm;codecs="vp8, vorbis"'

浏览器将返回:

  • probably - 如果最有可能播放视频文件maybe
  • 如果视频可以播放[empty string]
  • 如果视频文件无法播放

<video id="myvid" controls>
    <source src="./foo.mp4" />
    <p>Use new browser.</p>
</video>
<script>
    myvid = document.getElementById("myvid")
    if (myvid.canPlayType('video/webm;codecs="vp8, vorbis"') || myvid.canPlayType('... others depending on what formats you have available ...') {
        // all okay
    } else {
        // alert user to the problem
    }
</script>