我開發的遊戲是html5,jquery,Javascript,我需要預載幾個音頻。這些音頻正在逐一播放,但是當我最小化iPad時,音頻仍然在付費。 任何人都可以幫助暫停音頻,而瀏覽器將盡量減少。當瀏覽器到達前臺時音頻應該播放。音頻仍在播放,儘量減少iPad瀏覽器Safari瀏覽器
1
A
回答
1
我在那裏得到一個完整的解決方案。這是我到目前爲止:
var audio = document.getElementsByTagName('audio')[0];
window.onpageshow = function() {
audio.play();
}
window.onpagehide = function() {
audio.pause();
}
所以,只要您在應用程序選項卡上關閉Safari時,它會暫停音頻。當你開始備份時播放它。當您更改標籤時它不會停止。
如果您的應用程序是apple-mobile-web-app-capable
,則當您使用主屏幕按鈕打開該應用程序時,將會觸發onpageshow
,並在您關閉它時暫停該應用程序。它並沒有完全停頓,因爲重新開放它迫使它從頭開始。您必須使用localStorage或其他東西來捕捉您在軌道中的位置,然後在打開備份時設置currentTime
。
看起來你可以根據caniuse.com
只是對歷史的緣故,我將至少狀態的一些其他的事情我想在iOS的7使用Visibility API。
- window.onblur
使用requestAnimationFrame用的setTimeout(這個工作在桌面上,而不是iOS版)
var t; requestAnimationFrame(function checkWindow() { if (audio.paused) { audio.play(); } clearTimeout(t); t = setTimeout(function() { audio.pause(); }, 32); });
0
希望我沒有遲到回答。我發現下面的解決方案,它在臺式電腦和iOS設備的工作原理(尚未在Android的檢查還)
$(window).on("blur focus", function(e) {
var prevType = $(this).data("prevType");
if (prevType != e.type) { // reduce double fire issues
switch (e.type) {
case "blur":
// do work
your_audio.pause();
break;
case "focus":
// do work
your_audio.play();
break;
}
}
$(this).data("prevType", e.type);
})
PS:your_audio是一個變量,你必須定義它。
我發現這個解決方案here
1
我建議你使用page visibility API,它給你,告訴你,當一個頁面的可見性更改的事件。你認爲合適的
function handleVisibilityChange() {
if (document.hidden){
stopAllSounds();
}else{
playAllSounds();
}
}
document.addEventListener("visibilitychange", handleVisibilityChange, false);
stopAllSounds
和playAllSounds
將被定義,但在Safari瀏覽器的最小化和最大化這一事件將觸發。它適用於Android設備和all modern platforms
相關問題
- 1. 在Firefox瀏覽器中播放音頻
- 2. 音頻不播放移動瀏覽器
- 3. safari瀏覽器不支持HTML5音頻標籤在iPad/iPhone,Android
- 4. 在瀏覽器上播放視頻
- 5. 在瀏覽器中播放4K視頻
- 6. 請推薦在IE瀏覽器中嵌入音頻播放器
- 7. Safari 5瀏覽器上的html5視頻播放器大小
- 8. Safari瀏覽器
- 9. Safari瀏覽器
- 10. 在iPad瀏覽器中播放多個聲音
- 11. Chrome瀏覽器相比,Safari瀏覽器
- 12. Safari瀏覽器從其他瀏覽器
- 13. 如何在移動Safari瀏覽器中播放視頻
- 14. 無法在Safari瀏覽器中播放html5視頻..!
- 15. HTML5視頻不能在iPhone Safari瀏覽器中播放
- 16. 在Windows上的Safari瀏覽器中無法播放html5視頻
- 17. 視頻自動播放在Safari瀏覽器中不起作用
- 18. 在瀏覽器iphone和ipad上播放視頻
- 19. 跨瀏覽器OGG音頻
- 20. 中心HTML 5音頻播放器對於所有瀏覽器
- 21. iOS:音頻錄製在Chrome瀏覽器上播放,但不在Safari上
- 22. html 5音頻控件不適用於Chrome瀏覽器和Safari瀏覽器
- 23. 儘量減少使用C++的插件的瀏覽器窗口
- 24. 儘量減少瀏覽器迴流/重新渲染
- 25. 在瀏覽器中播放流式音頻(Asp.net)
- 26. TCPDF - 在瀏覽器中生成PDF,但也播放音頻
- 27. FFmpeg在瀏覽器上播放音頻流
- 28. 在火狐瀏覽器中播放mp3音頻文件
- 29. 檢測音頻是否在瀏覽器中播放Javascript
- 30. 在Android瀏覽器中播放html5音頻
非常感謝卡利,值得的解決方案。 –