14

我制作了一个 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();
        }

它可能与“自动播放”变量有关吗?Android 中的默认浏览器会立即播放歌曲。

谢谢。

4

5 回答 5

34

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

于 2014-07-19T15:51:18.713 回答
8

请参考这个链接...

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

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

Android 不支持自动播放,因为它会消耗数据流量。

于 2013-02-15T12:21:24.877 回答
8

将 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 上为我工作。

于 2017-05-17T13:24:46.757 回答
6

似乎有一种新方法可以激活 Chrome 以自动播放音频和视频

转到 chrome://flags

设置Autoplay policyNo user gesture is required

铬标志

于 2017-10-26T15:43:02.130 回答
3

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

请参阅:适用于 Android 的 Chrome 更新

我正在使用 SoundJS Lib 并且在所有浏览器中都运行良好(仅在默认 Android 浏览器和 Android 版本低于 4.1 的 Chrome 中运行不佳)。

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

支持 Android 版 Chrome 上的 Web 音频 API:code.google.com/p/chromium/issues/detail?id=166003

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

于 2013-09-10T18:11:25.090 回答