7

我正在创建一个视频嗅探框架,我必须在其中嗅探不同浏览器的 HTML5 视频播放能力。为此,我使用了canPlayType()方法,它给了我三个可能的结果:

  1. 空字符串(无法运行视频时)
  2. “也许”
  3. “大概”

我需要知道“也许”和“可能”之间的确切区别。请让我知道是否有人可以解决我的困惑。提前致谢。

4

3 回答 3

8

probably表示浏览器可以播放所描述的媒体类型。maybe表示该类型可能是可玩的。通常,这是因为所描述的媒体类型不够具体,无法做出决定。

例如,该类型audio/ogg可能是可播放的,也可能是不可播放的,因为 Ogg 是一种容器类型,可以包含多个不同的编解码器。VorbisOpus是两个包含 Ogg 的编解码器。浏览器播放 Ogg 文件的能力通常与浏览器播放 Vorbis 或 Opus 编解码器的能力无关,因此不能说它是否可以播放您的 Ogg 文件。

如果您使用 询问特定编解码器audio/ogg; codecs=vorbis,则浏览器可以确定是否可以播放该类型。

打个比方:假设你问我能不能开你的船。我擅长驾驶小型快艇,但我无法驾驶大型游轮。我必须回答“你能开我的船吗?”这个问题。用“也许”,因为你还没有告诉我它到底是什么类型的船。

于 2015-05-06T18:47:01.470 回答
2

说明 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://24ways.org/2010/the-state-of-html5-audio

http://diveintohtml5.info/everything.html

于 2015-01-09T09:44:15.053 回答
-1

来源:http ://www.w3schools.com/tags/av_met_canplaytype.asp

canPlayType() 方法可以返回以下值之一:

  • “可能” - 浏览器最有可能支持这种音频/视频类型
  • “也许” - 浏览器可能支持这种音频/视频类型
  • "" - (空字符串)浏览器不支持此音频/视频类型
于 2013-12-06T16:06:40.073 回答