在旧浏览器上播放循环播放声音

时间:2015-04-19 19:56:56

标签: html internet-explorer embed internet-explorer-6

我需要在所有浏览器上播放声音(所以我必须使用object标签)。

循环不起作用。 为什么?

这是我的代码:

<object height="0px" width="0px" data="audio.mp3" type="audio/mpeg" >
<param name="autostart" value="true" />
<param name="loop" value="true" />
<param name="src" value="audio.mp3"/>
<embed src="audio.mp3" autostart="false" loop="true">
</object>

2 个答案:

答案 0 :(得分:0)

以这种方式嵌入时,行为取决于加载的插件来处理媒体。无法保证用户已安装的播放器遵守循环或自动启动。它们应该被视为对玩家应该做什么的建议或提示,仅此而已。

使用Flash可以获得更多可预测的行为,大多数人都安装了旧浏览器。

答案 1 :(得分:0)

对于这样一个旧浏览器,也许您可​​以回退到<bgsound>元素。这个元素是非标准的,但仍然是Mozilla took the time to describe it的人。

总之,所以设置一个源并指定一个无限循环:

<bgsound src="sound2.au" loop="infinite">

您可以使用JavaScript添加此类元素。

对于其他浏览器,包括现代版本的Internet Explorer(9及更高版本),最好使用<audio>标记,documented by Mozilla

audio标记支持浏览器不支持时使用的内部内容。该功能可用于bgsound后备,如下所示:

<audio src="sound.ogg" autoplay loop>
  <bgsound src="sound.au" loop="infinite">
</audio>

请注意,如果您想让它在所有浏览器上播放,您可能必须以多种格式提供声音。