iOS Safariclosures时停止HTML5audio循环播放
好的,所以我有这样简单的事情:
<audio autoplay='autoplay' loop='loop' id='audio' controls> <source src='http://www.w3schools.com/html/horse.ogg'/> <source src='http://www.w3schools.com/html/horse.mp3'/> </audio>
现在,当我在iOS设备上播放audio时,它会很好地循环播放, 但是 ,当我closures浏览器窗口或切换标签时,它会一直循环播放,暂停播放的唯一方法是closures浏览器标签。 我尝试删除loop='loop'
并重播它用JavaScript的话, 这工作,但与audio约1.5分钟长,它仍然可以很烦人。 但是这并不起作用,因为即使浏览器未打开, ended
事件也会触发。
演示中,声音是我可以在网上find的第一个,但请注意,我的实际声音很长,所以当浏览器窗口closures时,我确实需要pause
。
我已经尝试暂停onblur
, onunload
和onbeforeunload
无济于事。 有没有办法阻止audio在后台播放?
pipe理find解决scheme:
利用循环来检查用户是否在网页上。 存储时间。
var lastSeen; var loop = function (){ lastSeen = Date.now(); setTimeout(loop, 50); }; loop(); var music = document.getElementById('music'); music.addEventListener('timeupdate', function (){ if(Date.now() - lastSeen > 100){ this.pause(); } }, false);
这大致是我的文件看起来像。 由于timeupdate
事件在播放audio元素时会持续触发,所以我只需要检查最后一次调用循环的时间。 如果它被称为超过100毫秒前,我暂停音乐。 就像我testing的iPad上的魅力一样。
- 苹果公司删除的可能性,只有在networking应用程序streamios 6 shoutcast&icecast?
- Video.js在iOS上的文件加载期间暂停
- 多人游戏在Android,iPhone和networking
- Android上的HTML5 canvasanimation很慢
- html5inputtypes数字与移动正则expression式模式
- html input type = file – 从iCloud中select一个文件
- 在HTML5中呈现的H.264编码MP4在Safari上播放,但不在iOS设备上播放
- 从UIScript中的pageScroll发生的Jscript中获取标签和值
- 使用数据uri的audio在移动版Chrome中显示错误