Dmi*_*lov 9 javascript html5-video phaser-framework
我在 Chrome 中尝试自动播放视频时遇到错误,内容为: DOMException: play() failed because the user didn't interact with the document first.
对于“普通”页面,有一个解决方案:
var promise = document.querySelector('video').play();
if (promise !== undefined) {
promise.then(_ => {
// Autoplay started!
}).catch(error => {
// Autoplay was prevented.
// Show a "Play" button so that user can start playback.
});
}
Run Code Online (Sandbox Code Playgroud)
但是我使用 Phaser 框架Video对象播放视频,该对象不返回承诺,因此我需要确定用户已与before尝试播放视频的页面进行了交互。有什么解决办法吗?
寻找用户与窗口的交互
var interacted = false;
function fun(){
interacted = true;
$(window).unbind("scroll");
$(window).unbind("click");
play();
}
$(window).bind("scroll click", fun);
function play(){
if(interacted){
//play audio or video
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1428 次 |
| 最近记录: |