我正在创建一个视频嗅探框架,我必须在其中嗅探不同浏览器的 HTML5 视频播放能力。为此,我使用了canPlayType()方法,它给了我三个可能的结果:
- 空字符串(无法运行视频时)
- “也许”
- “大概”
我需要知道“也许”和“可能”之间的确切区别。请让我知道是否有人可以解决我的困惑。提前致谢。
我正在创建一个视频嗅探框架,我必须在其中嗅探不同浏览器的 HTML5 视频播放能力。为此,我使用了canPlayType()方法,它给了我三个可能的结果:
我需要知道“也许”和“可能”之间的确切区别。请让我知道是否有人可以解决我的困惑。提前致谢。
probably
表示浏览器可以播放所描述的媒体类型。maybe
表示该类型可能是可玩的。通常,这是因为所描述的媒体类型不够具体,无法做出决定。
例如,该类型audio/ogg
可能是可播放的,也可能是不可播放的,因为 Ogg 是一种容器类型,可以包含多个不同的编解码器。Vorbis和Opus是两个包含 Ogg 的编解码器。浏览器播放 Ogg 文件的能力通常与浏览器播放 Vorbis 或 Opus 编解码器的能力无关,因此不能说它是否可以播放您的 Ogg 文件。
如果您使用 询问特定编解码器audio/ogg; codecs=vorbis
,则浏览器可以确定是否可以播放该类型。
打个比方:假设你问我能不能开你的船。我擅长驾驶小型快艇,但我无法驾驶大型游轮。我必须回答“你能开我的船吗?”这个问题。用“也许”,因为你还没有告诉我它到底是什么类型的船。
说明 W3 规范:http ://www.w3.org/TR/2011/WD-html5-20110113/video.html#mime-types
media.canPlayType(type)
根据用户代理对它可以播放给定类型的媒体资源的信心,返回空字符串(否定响应)、“可能”或“可能”。
MDN 上提供了更多详细信息:https ://developer.mozilla.org/en/docs/Web/API/HTMLMediaElement#Methods
- “可能”:如果指定的类型看起来可以播放。
- "maybe":如果不播放就无法判断该类型是否可以播放。
- 空字符串:如果指定的类型肯定不能播放。
此外,在某些情况下(尽管这似乎只发生在<audio>
元素上),返回值"no"
而不是空字符串:
来源:http ://www.w3schools.com/tags/av_met_canplaytype.asp
canPlayType() 方法可以返回以下值之一: