【问题标题】:Difference between canPlayType maybe and probably outputcanPlayType 之间的区别可能和可能输出
【发布时间】:2013-05-12 05:04:14
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript html html5-video


    【解决方案1】:

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

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

    如果您询问带有audio/ogg; codecs=vorbis 的特定编解码器,那么浏览器可以确定它是否可以播放该类型。

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

    【讨论】:

      【解决方案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

      【讨论】:

        【解决方案3】:

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

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

        • “可能” - 浏览器最有可能支持这种音频/视频类型
        • “也许” - 浏览器可能支持这种音频/视频类型
        • "" - (空字符串)浏览器不支持此音频/视频 输入

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-10-07
          • 1970-01-01
          • 2019-07-21
          • 2019-01-31
          • 2015-09-02
          • 1970-01-01
          • 2022-11-18
          • 2011-04-03
          相关资源
          最近更新 更多