[英]Android not playing html5 audio from an interval
我正在尝试使用手机上的HTML5音频标签播放音频。 我加载了声音,但是当我运行.play()命令时,没有任何反应。 我使默认控件可见,以便我按下播放按钮进行测试,然后一个工作,声音播放。 我也试过通过从地址栏执行javascript来播放声音,这也是有效的。
我用来玩的代码看起来像这样:
setInterval(function(){
if(blahblah){
document.getElementById("player").play();
}
},500);
为了确保它甚至试图播放声音,我在它之后发出警报,如下所示:
setInterval(function(){
if(blahblah){
document.getElementById("player").play();
alert("Played!");
}
},500);
我看到警报,但没有播放声音。
谢谢你的帮助 :)
大多数移动设备只允许您在用户交互的结果时播放音频。 如果您将播放代码放入按钮单击事件中,它应该可以工作(假设代码中没有其他错误),但设备阻止您的音频从setInterval
内部播放,因为它不认为它具有用户的权限发挥它。
我现在做了什么,我承认这是一个解决方法,我播放并立即停止我的按钮点击事件中的音频,然后调用setInterval
。 它现在可以工作 - 因为设备认为它已被授予用户播放该音频的权限,即使我稍后触发它也是如此。 我的按钮单击事件中的代码如下所示:
document.getElementById("player").play();
document.getElementById("player").pause();
setInterval(function(){
document.getElementById("player").play();
}, 500);
请记住,在移动设备上,它可能无法像在计算机上那样流畅地播放。 尽可能寻求替代方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.