[英]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.