我需要在所有浏览器上播放声音(所以我必须使用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>
答案 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>
请注意,如果您想让它在所有浏览器上播放,您可能必须以多种格式提供声音。