如果.ogg文件在列表中的第一个位置,Safari将无法播放<audio> </audio>

时间:2011-02-23 16:56:28

标签: audio safari ogg m4a

我有一个带有两个源的音频对象,采用M4A和OGG格式。

代码如下:

<audio id="audio1" controls="controls" preload="none">
<source src="music.m4a" />
<source src="music.ogg" />
</audio>

然后我可以调用document.getElementById('audio1')。play()并开始播放。

它适用于所有浏览器。但是在Safari中,只有在M4A文件是第一个源时它才有效。

即。如果我首先使用OGG文件的代码:

<audio id="audio1" controls="controls" preload="none">
<source src="music.ogg" />
<source src="music.m4a" />
</audio>

Safari不会对play()JavaScript调用做出反应,只会鼠标点击播放按钮。

除了始终将M4A文件放在第一位之外,还有其他解决办法吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

您是否尝试告诉浏览器您正在使用的MIME类型。

使用“audio / mp4”作为MIME类型(不要忘记将其添加到.htaccess中)

<audio id="audio1" controls="controls" preload="none">
<source src="music.oga" type="audio/ogg" />
<source src="music.m4a" type="audio/mp4" />
</audio>

答案 1 :(得分:0)

也许先尝试添加EMPTY.m4a文件? .5秒无噪音? 我自己在safari上遇到麻烦。 我从未想过尝试其他类型的文件。 这可能会解决我的问题。谢谢。 我的问题是.mps文件的差距。所以我切换到了.ogg。 添加默认空白.m4a可能有助于解决您的问题。 我很高兴知道这是否有效,无论是哪种方式。