4

我有一个关于 <audio> 标签和 FF/Chromium 的烦人问题,因为媒体不会在我期望的时候播放。Opera 似乎可以正确处理它。

我们有音频媒体可以使用相应的 HTML5 <audio> 标签来播放。<source> 标签在纯音频 OGG 容器中包含媒体。但是,文件扩展名 ogg不在src -attribute 中,因此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. 歌剧:好的

我集成了一个小脚本来显示 HTMLMediaElement 的不同属性(属性:networkState、readyState,请参阅),产生以下结果:

  1. FF => networkState: NETWORK_LOADED (媒体源加载完毕), readyState: HAVE_NOTHING (没有可播放的媒体)
  2. Chromium => networkState:NETWORK_LOADED(媒体源加载完成),readyState:HAVE_NOTHING(没有可播放的媒体)
  3. Opera => networkState:NETWORK_IDLE,readyState:HAVE_ENOUGH_DATA

(请注意,不同状态的描述来自 Safari 开发网站:http: //developer.apple.com/library/safari/#documentation/AudioVideo/Reference/HTMLMediaElementClassReference/HTMLMediaElement/HTMLMediaElement.html

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

有没有人对此有任何想法或暗示?

干杯,克里斯

4

1 回答 1

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
于 2012-08-24T04:12:49.027 回答