【发布时间】:2011-04-04 01:56:24
【问题描述】:
如何通过html5 video标签检查浏览器是否可以播放mp4?
【问题讨论】:
标签: html html5-video
如何通过html5 video标签检查浏览器是否可以播放mp4?
【问题讨论】:
标签: html html5-video
这可能会对您有所帮助:
<script type="text/javascript">'.
var canPlay = false;
var v = document.createElement('video');
if(v.canPlayType && v.canPlayType('video/mp4').replace(/no/, '')) {
canPlay = true;
}
alert(canPlay);
</script>
【讨论】:
Alex Polo 的回复还不错但是不完整试试这个看看是否也支持编解码器:
var mp4Supported = (!!document.createElement('video').canPlayType('video/mp4; codecs=avc1.42E01E,mp4a.40.2'));
同样适用于 ogg、webm 等...也适用于音频 :)
【讨论】:
【讨论】:
<video>元素被设计成可以在没有任何检测脚本的情况下使用。你可以指定多个视频文件,支持HTML5视频的浏览器会选择一个基于他们支持的视频格式。”嘿,这是我写的!在那之后,当然,马克推荐Video for Everybody。听起来有点熟?有脚本可以检查给定浏览器支持的格式,但实际上很少需要执行。
video 标签的工作方式。请在说没有根据的事情之前先阅读一下。 video 标记的全部意义 是格式独立性,其实现方式是通过后备。只想支持单一视频格式?伟大的!这样做,并包括一个 JPG 作为后备。故事结局。 [当然,为什么如果您只想支持 Flash 是另一个问题,那么您会使用 video 标签,但这不是被问到的问题。]
我必须检查是否显示 html5 视频,隐藏我的个人按钮以在 ie7 和 ie8 中播放和关闭音频。我的解决方案如下所示。
我的html:
<div id="contenitore_video" style="position:absolute;top:0;left:0;">
<video id="cont_video" autoplay onFocus="this.blur();" width="100%" height="100%" >
<source src="video/xxx.mp4" type="video/mp4" />
<source src="video/xxx.theora.ogv" type="video/ogg" />
<div id="sfondo_ridimensionato" >
<img src="img/sfondo_home1.jpg" >
</div>
</video>
</div>
...
<div id="controlli_video" style="position:absolute; top:10px;right:25px; height:50px; text-align:right;">
<a class="video_play" onFocus="this.blur();" style="display:none;" href="javascript:void(0)" onClick="controlla_video(1)">Play</a> ...
</div
我的 JS 准备好了:
$(document).ready(function(){
//controllo se il video funziona o si vede il video alternativo
// var numero = $('#sfondo_ridimensionato:hidden').length;
// alert(numero);
if($('#sfondo_ridimensionato:hidden').length == 0){
$('#controlli_video').hide();
}
}
【讨论】:
我制作了一个函数来验证您的浏览器是否能够播放音频或视频元素
const checkMedia = mediaType => {
let canPlay = false
const mediaFormat = {
audio: 'audio/mp3',
video: 'video/mp4'
}
let media = document.createElement(mediaType)
if (
media.canPlayType &&
media.canPlayType(mediaFormat[mediaType]).replace(/no/, '')
) {
canPlay = true
}
return canPlay
}
【讨论】: