我正在制作一个简单的计数器,最后有声音。它在桌面 Chrome 上完美运行,但在 Android 的 Chrome(ICS,如果重要的话)上它有一个奇怪的错误。
这是代码
<!DOCTYPE html>
<html lang="hu-HU">
<head>
<meta charset=utf-8>
<title>-</title>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
var snd;
var buzzer;
// refresh the counter, called every sec
function refresh(time) {
second = time % 60;
$('#second').html(second < 10 ? '0' + second : second);
if(second>55)
snd.play();
}
$(function() {
snd = new Audio('ding.wav');
var clock = 52;
refresh(clock);
window.setInterval(
function() {
clock++;
refresh(clock);
},
1000
);
}
);
</script>
</style>
</head>
<body>
<div id="second"></div>
<a href="#" onclick="doit();">Play</a>
<script>
function doit() {
snd.play();
}
</script>
</body>
</html>
在移动版 Chrome 中,通常不会播放声音,这应该很奇怪。但如果我按下“播放”链接,它就会像魅力一样发挥作用。知道如何解决这个问题吗?
最佳答案
移动浏览器会阻止 JavaScript 在没有用户启动事件的情况下播放声音。这与 MobileSafari 的行为相同。
查看这些相关的 SO 问题:
关于android - Android Chrome 上的音频标签错误(?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11916451/