我正在构建一个基于html5视频元素的游戏,场景就像当一个视频结束时,另一个视频开始时检测到
ended
video.on("ended", function() {
someothervideo.play();
});
这在所有浏览器和android手机上都能正常工作,但在iphone上却不行。
iOS's new video policies
这是有道理的
但在上面提到的链接中有一个注释,即
video.play()
例如,必须直接由
touchend
,
click
doubleclick
,或
keydown
事件。所以,
button.addEventListener('click', () => { video.play(); })
可以满足用户的手势要求。
video.addEventListener('canplaythrough', () => { video.play(); })
button.addEventListener('单击',()=>{video.play();})
我试着在DOM中放置一个按钮,就像它不显示在任何地方一样
<button id="fakedbtn" style="left:-999999999px">Faked button</button>
并将上述事件侦听器更改为
video.on("ended", function() {
$('#fakedbtn').on('click',function(){
someothervideo.play();
});
$('#fakedbtn').trigger('click');
});
但出于某种原因
任何一个。有人能解释一下这种行为吗?建议我做点别的什么?视频不能静音,否则它会工作。
注:
我还尝试使用
addEventListener
但还是没有运气。