我正在尝试使用Firefox 3.5和Chrome中实现的HTML5音频元素制作基于Web的媒体播放器。阅读Mozillas documentation,省略autobuffer属性会导致音频src没有被请求:
如果指定,音频将 自动开始下载, 即使没有设置为自动播放。 这一直持续到媒体缓存 已满,或整个音频文件有 已下载,以先到者为准
然而,服务器端的我注意到正在请求文件。我的示例页面非常简单:
<html>
<body>
<audio src="1.ogg"></audio>
<audio src="2.ogg"></audio>
</body>
</html>
答案 0 :(得分:6)
autobuffer
属性has been replaced with preload
接受值none
,metadata
和auto
。
已经为WebKit提交了一个补丁(问题#35385;遗憾的是我无法链接到它),但它似乎没有进入Safari 4.0.5。
答案 1 :(得分:2)
HTML5中的布尔属性不能为false。如果它存在,那是真的。
你被XHTML习惯误导了。
请参阅: http://dev.w3.org/html5/spec/Overview.html#boolean-attributes
引用:
“布尔属性上不允许使用值”true“和”false“。要表示false值,必须完全省略该属性。”
答案 2 :(得分:0)
根据文章“Configuring Servers for Ogg Media”,Ogg媒体不包含持续时间信息,因此要正确显示滑块,您需要包含X-Content-Duration
标题。如果您不包含这样的标题,Firefox将预取部分媒体*,以便它可以计算持续时间并显示滑块。
这可能是你的问题。
*它将获取前几个位,这应该给它一个Content-Length
标题,以便它知道文件大小。然后,它将使用该文件大小来获取最后几个刻度,从中可以计算出持续时间。如果您的服务器不支持Range
个请求,那么结果将是它将获取整个文件。