codecs
参数。(codecs
参数是否被允许不取决于它的MIME类型。)详细参考[ rfc6381 ]文档。以下是青锋建站给大家分享的html5中的媒体元素中的mime类型详解与相关JS接口。
媒体元素中的type属性
type通常是不完整的描述;例如“video/mpeg
”不能表明除了容器类型之外的其他东西,甚至像“video/mpeg
;codecs="avc1.42E01E, mp4a.40.2
”“不包括的信息如实际比特率。因此,给定一个类型,一个用户代理往往只知道它是否可以播放该类型的媒体,或者它是否不能播放的媒体类型。用户知道它不是一个不支持的资源的类型,例如,因为它不能识别的容器类型,或者不支持给出的编解码器。
注意:“application/octet-stream”这种没有参数的MIME类型是用户知道可以确定的类型。当它用于标记潜在的媒体资源时,用户代理必须将该类型看作等同于缺少显式的内容类型元数据。
media . canPlayType
(type)接口函数
返回空字符串(负响应)、“可能”或“可能”,这取决于用户是否确定给定类型的媒体可以播放。canPlayType(type)方法必须返回空字符串,假如类型是用户不知道的类型“或者它是application/octet-stream”类型;它必须返回“probably”如果用户确信这种媒体资源可以使如果使用这个音频或视频元素;否则它必须返回“maybe”。除非这种类型被确定是否支持,否则提倡返回
"maybe
"。如果允许codecs
参数而这个
参数不存在,
用户代理不应该返回“probably
”的类。
此脚本测试用户是否支持新格式以动态决定是否使用视频元素或插件:
<section id="video">
<p><a href="playing-cats.nfv">Download video</a></p>
</section>
<script>
var videoSection = document.getElementById('video');
var videoElement = document.createElement('video');
var support = videoElement.canPlayType('video/x-new-fictional-format;codecs="kittens,bunnies"');
if (support != "probably" && "New Fictional Video Plugin" in navigator.plugins) {
// not confident of browser support
// but we have a plugin
// so use plugin instead
videoElement = document.createElement("embed");
} else if (support == "") {
// no support from browser and no plugin
// do nothing
videoElement = null;
}
if (videoElement) {
while (videoSection.hasChildNodes())
videoSection.removeChild(videoSection.firstChild);
videoElement.setAttribute("src", "playing-cats.nfv");
videoSection.appendChild(videoElement);
}
</script>
转载请注明来源网址:青锋建站-http://www.sjzphp.com/webdis/h5mime.html