我有一个带有两个源的音频对象,采用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文件放在第一位之外,还有其他解决办法吗?
谢谢!
答案 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可能有助于解决您的问题。 我很高兴知道这是否有效,无论是哪种方式。