目前支持Android使用html5音频标签一次播放多个音轨

时间:2013-01-02 22:50:30

标签: android html5 audio

我正在编写一个html5 / javascript游戏,并在各种关于iOS的博客文章中阅读了很多内容,只能使用html5音频标签在任何时候播放一个音轨。这似乎已经在iOS6中修复了,但是我没有看到很多关于Android的支持是什么。我有几个Android设备 - 运行Jelly Bean(v4.2.1)的三星Galaxy Nexus和运行最新版本(10.2.4)的Kindle Fire,我认为它是冰淇淋三明治的改编版本。 Galaxy nexus只会随时播放一首曲目,但Kindle Fire会播放多首曲目。我假设这是因为Kindle Fire上的Silk浏览器比默认的Android浏览器更能支持音频标签,但我想确认一下,所以我可以尝试衡量问题的影响程度会的。

这里的代码在Galaxy Nexus上无法正常运行:

<audio id="audio1" controls>
    <source src="http://dl.dropbox.com/u/1538714/article_resources/cat.m4a" type="audio/mpeg" />
    <source src="http://dl.dropbox.com/u/1538714/article_resources/cat.ogg" type="audio/ogg" />
</audio><br />
<audio id="audio2" controls>
    <source src="http://dl.dropbox.com/u/1538714/article_resources/song.m4a" type="audio/mpeg" />
    <source src="http://dl.dropbox.com/u/1538714/article_resources/song.ogg" type="audio/ogg" />
</audio><br />
<button onclick="play();">Play</button><br />

<script type='text/javascript'>

var play = function() {
    var audio1 = document.getElementById('audio1');
    var audio2 = document.getElementById('audio2');
    audio1.play();
    audio2.play(); // this will stop audio1 on the Galaxy Nexus
}

</script>

运行Ice Cream Sandwich或Jelly Bean的其他Android设备是否一次只支持一首曲目?

This web page提供了一个很好的快速测试。如果单击“播放”,则两者都应该一起播放。我对在Android上运行专有软件的设备特别感兴趣,而不仅仅是纯粹的&#34;纯粹的&#34;在Galaxy Nexus上的Android。

1 个答案:

答案 0 :(得分:0)

您在上面评论的页面无法在原生Android 4.1.2浏览器中使用。我听说过Web Audio API,但它在Android Plataform的各种浏览器中运行有很多限制。

我知道HTML5音频和网络音频API在不同的移动浏览器中无效。

但是我找到了一个关于在这个项目中使用HTML5运行多个音频的解决方案: lycheejs.org 由Christoph Martens保留,但没有任何论坛或类似的事情要讨论(在至少我没有找到)。实际上, cosmo.lycheejs 是一个可以在Android Plataform中同时运行多个音频的示例。但是,这仅适用于Firefox。 Chrome和Navite Android浏览器不起作用。观看此视频: www.youtube.com/watch?v=PojeyUiFLi4

如果有人可以使用此解决方案做出示例,请在此处回复。

请参阅这些网站,了解在移动浏览器中同时运行多个音频的复杂性:

<强> www.codetheory.in/html5-audio-behaviour-and-support-in-ios-and-android /

<强> www.codetheory.in/solve-your-game-audio-problems-on-ios-and-android-with-web-audio-api /