我制作了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中的默认浏览器会立即播放该歌曲。
感谢。
答案 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)
答案 4 :(得分:3)
将您的Chrome更新为29,此版本现在支持WebAudio API并修复了许多问题。
我正在使用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