HTML5音频:Android上的Chrome不能在PC上自动播放歌曲与Chrome的对比

时间:2012-09-25 17:21:01

标签: android google-chrome

我制作了HTML5 iPod。

你可以在这里试试。

http://inventikasolutions.com/demo/iPod

在PC上,使用Chrome时。如果我导航到一首歌曲,它会自动开始播放。 但是在Android上使用Chrome时,它不播放这首歌。我必须再次按下播放/暂停按钮才能播放音频。

当您选择要播放的歌曲时,以下是运行的代码:

audioPlayer.src=songurl[number];
audioPlayer.oncanplaythrough = "isAppLoaded";
audioPlayer.autoplay = "autoplay";
audioPlayer.addEventListener('ended',nextSong,false);
document.getElementById("player").appendChild(audioPlayer);

这是播放/暂停代码。

        if (audioPlayer.paused)
        {
        audioPlayer.play();
        $("#pauseindicator").hide();
        $("#playindicator").show();
        }
        else
        {
        audioPlayer.pause();
        $("#pauseindicator").show();
        $("#playindicator").hide();
        }

它可能与'autoplay'变量有关吗? Android中的默认浏览器会立即播放该歌曲。

感谢。

5 个答案:

答案 0 :(得分:33)

万一有人碰到这个 - Android版Chrome实际上阻止了自动播放功能,但你可以更改浏览器的设置。为此,您必须输入 chrome:// flags 并将 停用媒体播放的手势要求 设置为开启。通过网络强制执行此设置是不可能的,但如果您像我一样编写专用网络应用程序,则可以使用它。

答案 1 :(得分:8)

请参阅此链接......

http://code.google.com/p/chromium/issues/detail?id=138132

Chrome不允许应用在没有用户明确操作的情况下播放HTML5音频,类似于iOS的处理方式,但与Android浏览器处理它的方式不同。

在Android上不支持自动播放,因为它会花费数据使用费用。

答案 2 :(得分:7)

将create.js添加到您的页面:

<script src="https://code.createjs.com/createjs-2015.11.26.min.js"></script>

然后以这种方式发出声音:

<script>
    createjs.Sound.registerSound("./click.mp3", "x");
    setTimeout(function () {
        createjs.Sound.play("x");
    }, 10000)
</script>

适用于最新的Android。

答案 3 :(得分:5)

看起来有新的方法可以让Chrome激活自动播放音频和视频

转到chrome:// flags

Autoplay policy设为No user gesture is required

Chrome flags

答案 4 :(得分:3)

将您的Chrome更新为29,此版本现在支持WebAudio API并修复了许多问题。

请参阅:Chrome for Android Update

我正在使用SoundJS Lib并且在所有浏览器中都能很好地工作(仅在默认Android浏览器中效果不佳,而且Android版本的Chrome小于4.1)。

请参阅以下示例:www.createjs.com /#!/ SoundJS / demos / testSuite

在Chrome for Android上支持网络音频API:code.google.com/p/chromium/issues/detail?id=166003

SoundJS限制:community.createjs.com/kb/faq/soundjs-faq