如何检测 HTML5 视频中没有可用格式?
How to detect there are no available formats in HTML5 video?
此代码显示不支持 video
元素的旧浏览器的消息。
<video controls>
<source src="./foo.mp4" />
<p>Use new browser.</p>
</video>
Firefox 在 Windows 7+ 中支持 video
元素和 MP4/H.264 格式,但在 Windows XP 中不支持该格式。
我想显示 Windows XP 用户安装插件的消息。
一种方法(如果我理解正确的话)是让您的视频元素具有默认的回退机制,然后使用 JavaScript 补充它以进行特定格式检测,如果您不这样做找到支持的格式,即使视频元素在那里显示备用消息
canPlayType(format)
测试浏览器是否可以播放特定类型的视频,例如'video/webm;codecs="vp8, vorbis"'
浏览器将return:
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>
此代码显示不支持 video
元素的旧浏览器的消息。
<video controls>
<source src="./foo.mp4" />
<p>Use new browser.</p>
</video>
Firefox 在 Windows 7+ 中支持 video
元素和 MP4/H.264 格式,但在 Windows XP 中不支持该格式。
我想显示 Windows XP 用户安装插件的消息。
一种方法(如果我理解正确的话)是让您的视频元素具有默认的回退机制,然后使用 JavaScript 补充它以进行特定格式检测,如果您不这样做找到支持的格式,即使视频元素在那里显示备用消息
canPlayType(format)
测试浏览器是否可以播放特定类型的视频,例如'video/webm;codecs="vp8, vorbis"'
浏览器将return:
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>