HTML5和audio-tag:不包含文件扩展名的重定向链接无法加载到FF / Chromium中

时间:2011-07-05 09:02:38

标签: html5 firefox google-chrome audio ogg

关于< audio>我有一个恼人的问题。标签和FF / Chromium作为媒体将无法播放,我期望它。 Opera似乎正确处理它。

我们使用相应的HTML5< audio>播放音频媒体。标签。 < source>标签包含仅音频OGG容器中的媒体。 但是, src -attribute中的文件扩展名ogg ,因此 src -links看起来像http://localhost:1234/a/b/cdefg/Xyz(Restful API使用重定向来获取实际的媒体文件。)

以下代码是应显示HTML5播放器的网页部分:

    <div class="mainContent">
    <audio id="aud1" height="360" width="640" autoplay="false" controls="controls" tabindex="0">
    <source type="audio/ogg" src="http://localhost:1234/a/b/cdefg/Xyz"></source>
    Your browser does not support HTML5.
    </audio>
    <div class="divider"></div>
    <a class="homeLink" href="/index.html">Take me back to the Homepage</a>
    </div>

正在播放的媒体绝对是纯音频OGG文件。

我已在Ubuntu 10.04 FF5.0,Chromium 12.0.742.91(87961)和Opera 11.50上测试了此代码,结果如下:

  1. FF:不回放
  2. Chromium:不播放
  3. Opera:好的
  4. 我集成了一个小脚本来显示HTMLMediaElement的不同属性(属性:networkState,readyState,see),产生以下结果:

    1. FF =&gt; networkState:NETWORK_LOADED(媒体源已完成加载),readyState:HAVE_NOTHING(没有可用于播放的媒体)
    2. Chromium =&gt; networkState:NETWORK_LOADED(媒体源已完成加载),readyState:HAVE_NOTHING(没有可用于播放的媒体)
    3. Opera =&gt; networkState:NETWORK_IDLE,readyState:HAVE_ENOUGH_DATA
    4. (请注意,不同状态的描述来自Safari Dev网站:http://developer.apple.com/library/safari/#documentation/AudioVideo/Reference/HTMLMediaElementClassReference/HTMLMediaElement/HTMLMediaElement.html

      如果我插入一个直接指向纯音频OGG文件(如http://en.wikipedia.org/wiki/File:Tromboon-sample.ogg)的 src ,那么它会按预期工作。 好像FF和Chromium似乎有链接问题,不包括最终文件名?

      有没有人对此有所了解或提示?

      干杯, 克里斯

1 个答案:

答案 0 :(得分:1)

我知道你已经修好了,但请确保你没有错过任何MIME类型:

HTML5 <video>

.ogv
video/ogg

.webm
video/webm


HTML5 <audio>

.oga
audio/ogg

.mp3
audio/mp3


HTML5 <video> <audio>

.mp4
video/mp4

.ogg
application/ogg