我正在建立一个仪表板,在该仪表板中,用户会收到有关新订单的通知(通过声音),因此我希望播放音频而不让用户单击任何按钮
注意到这个问题:
“play()失败,因为用户没有首先与文档进行交互”。
尝试了这些帖子的答案,但没有一个能解决同样的问题
link1 link2 link3 link4 link5
我的Google Chrome版本80.0.3987.132(正式版本)(64位)
码:
的HTML
<div><audio src="../audio/message.mp3" id="mainaudio"></audio>
<button id="btn" hidden> clicked automatically</button></div>
jQuery查询
$('#btn').click(function(){document.getElementById("mainaudio").play();});
setInterval(function(){
var oldreq=$("[name='show-order[]'] span").html();
var oldsugg=$("[name='show-sugg[]'] span ").html();
$.ajax({
url:"../include/uid.php",
type:"post",
data:"method=reloadNav&oldOrder="+oldreq+"&oldSug="+oldsugg,
success:function(data){
var js=$.parseJSON(data);
if(js.notify == 1){
$("#btn").click();
}
$("[name='show-order[]'] span").html(js.order);
$("[name='show-sugg[]'] span").html(js.sug) ;
},
error:function(){
alert("ajax error");
}
})
},5000);
最佳答案
您可以在加载页面几秒钟后开始播放音乐
$(window).on( "click", function() { //prevent 'no interact error'
setTimeout(function() { // start play after 5 sec
var el = document.getElementById("mainaudio");
if(el.paused){ //check if music dont play now
el.play();
}
else{
console.log('already playing!');
}
}, 5000);
});
关于jquery - 在没有用户交互的情况下播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60729586/