现代浏览器除了 IE 句柄MJPEG
( Motion JPEG )。这是一个示例小提琴。
我可以检测到对 的支持MJPEG
吗?我徒劳地浏览了Modernizr 。
现代浏览器除了 IE 句柄MJPEG
( Motion JPEG )。这是一个示例小提琴。
我可以检测到对 的支持MJPEG
吗?我徒劳地浏览了Modernizr 。
Modernizr 目前仅支持以下检测格式:ogg、webm 和 h264。
video 元素有一个调用canPlayType(format)
,这确实是您唯一的选择(如果它适用于 mjpg)。您的检测逻辑看起来像这样(不是格式会不同)。
var videoElement = document.createElement('video');
if(!!videoElement.canPlayType)
{
var browserConfidence = videoElement.canPlayType('video/mjpeg; codecs="insert, them"');
if(browserConfidence == "probably")
{
// high confidence
}
else if(browserConfidence == "maybe")
{
// low confidence
}
else
{
// no confidence... it definately will not play
}
}
确保您访问了 W3C 关于 canPlayType 的信息。看起来 MIME 类型应该是“video/mjpeg”,而不是您之前指定的“video/mjpg”。
我尝试了最明显的方法来检测图像是否可以加载:
$output = $('<img id="webcam">')
.attr('src', src)
.load(function(){alert('ok')})
.error(function(){alert('error')});
如果可以加载图像,load
则将触发事件,否则error
. 在最近的 Chrome 和 IE8 中检查了这一点。按预期工作。
遗憾的是,您需要使用 ActiveX 控件来支持 IE 中的 mjpg。请参阅如何在网页上嵌入 mjpeg 文件。