此问题正在使用Aframe。 我手动将videosphere放在循环上,并在(“ end”)上使用addEventListener。 在我查看控制台之前,代码工作正常。它给了我奇怪的日志。
myvideo = document.querySelector("#videoSphere");
var aEntranceScene1 = document.querySelectorAll("#playButton1");
for (var i = 0; i < aEntranceScene1.length; i++) {
aEntranceScene1[i].addEventListener("click", function () {
Scene1();
});
};
function Scene1(){
myvideo.setAttribute("src", "video/AEntranceScene1.mp4");
myvideo.currentTime = 0;
myvideo.play();
console.log("playing AEntranceScene1");
Hotspots();
myvideo.addEventListener("ended", function () {
console.log("AEntranceScene1 ended");
Scene1();
});
};
function Hotspots() {
sceneIndex = 1;
document.querySelector("#DButton").emit("disappear");
setTimeout(function () {
if (sceneIndex == 1 && !myvideo.paused) {
document.querySelector("#DButton").emit("move-start");
}
}, 3000);
};
首次播放视频时。它显示日志“正在播放 AEntranceScene1结束后,日志按预期显示1次“ AEntranceScene1结束”。此(附加了photo0)播放了1次
但是当视频再次播放时。它显示日志“正在播放 AEntranceScene1”多次,不仅添加了一次。结束时,日志还显示了几次“ AEntranceScene1 end”(附加照片1)播放了2次
随着循环的完成,这会变得更糟。(附上照片2)只播放了3次 [
您能告诉我这里发生了什么吗?以及对我的代码的任何修复? 谢谢
答案 0 :(得分:0)
我自己找到了答案。
这是由于将autoplay
放在<a-assets>
中引起的,
一旦我删除了autoplay
,它就可以正常工作