【问题标题】:Current support on Android for playing multiple audio tracks at a time using the html5 audio tag当前在 Android 上支持使用 html5 音频标签一次播放多个音轨
【发布时间】:2013-01-02 22:50:29
【问题描述】:

我正在编写一个 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 之上运行专有软件的设备特别感兴趣,而不仅仅是 Galaxy Nexus 上的“纯”Android。

【问题讨论】:

    标签: android html audio


    【解决方案1】:

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

    我知道 HTML5 音频和网络音频 API 在不同的移动浏览器中无法正常工作。

    但是我在这个项目中找到了一个关于使用 HTML5 运行多个音频的解决方案:lycheejs.org 由 Christoph Martens 维护,但没有任何论坛或类似的东西可以讨论(至少我没找到)。实际上,cosmo.lycheejs 是一个可以在 Android 平台中同时运行多个音频的示例。然而,这仅在 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/

    【讨论】:

    • Chrome 在新的 Android 版 Chrome 测试版中修复了这个问题。下载 Chrome BETA 并测试这个 example。我还没有找到适用于 Navite Android 浏览器的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-16
    • 2012-02-02
    • 2017-04-12
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多