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

Pri*_*sai 14 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);
Run Code Online (Sandbox Code Playgroud)

这是播放/暂停代码.

        if (audioPlayer.paused)
        {
        audioPlayer.play();
        $("#pauseindicator").hide();
        $("#playindicator").show();
        }
        else
        {
        audioPlayer.pause();
        $("#pauseindicator").show();
        $("#playindicator").hide();
        }
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

小智 34

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

  • 我正在开发Android App,遇到了这个问题.在我看到你的解决方案之后,我想在我的java代码中可能有某种方法可以解决这个问题.最后我发现这很好用.**webview.getSettings()setMediaPlaybackRequiresUserGesture(假);** (2认同)

muh*_*sil 8

请参考此链接...

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

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

Autoplay在Android上并不受尊重,因为它会耗费数据.


Ste*_*nko 7

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

<script src="https://code.createjs.com/createjs-2015.11.26.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

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

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

适用于最新Android的我.


Hem*_*ela 6

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

转到chrome:// flags

设置Autoplay policyNo user gesture is required

Chrome标志