aframe 360视频只显示第一次.然后,只有声音



我正在webvr中进行一次旅行,并使用a-frame来构建它。我遇到了一个奇怪的问题。我似乎能够让帧在视频球体内播放视频,并在第一次进入新场景时正确显示每一秒,但每当我退出并尝试再次进入时,只有声音能正常工作。我想知道我是否在加载视频或时做错了什么

我正在从一个json文件中收集视频的路径,在该文件中我描述了每个房间包含的内容(它们可能有用于16:9视频、图像和排序的可交互引脚,也有用于加载新场景的引脚(。加载json后,我将videosphere的源名称image360设置为:

document.getElementById("image360").setAttribute('src', "#" + jsonArray.zones[zoneID].locations[locationID].name);

然后我使用以下代码播放视频:

video = document.querySelector('#' + jsonArray.zones[zoneID].locations[locationID].name);
video.muted = false;
video.addEventListener("ended", videoEnded);
video.play();

我添加到视频中的事件监听器负责在视频结束后将用户带回上一个场景,我使用以下代码来完成:

//This function is called immediately after the end of a 360 video. Thus it first starts by obtaining the scene it should load after the end of the scene
var thisEl = document.querySelector('#' + jsonArray.zones[zoneID].locations[locationID].name);
var currentLocation = jsonArray.zones[zoneID].locations[locationID];
var locationToReturnTo = currentLocation.locationToReturnTo;
var zoneToReturnTo = currentLocation.zoneToReturnTo;
//With the information obtained, the room is then loaded
generateRoom(zoneToReturnTo, locationToReturnTo);
//After loading the room, time to generate the correct pins
generatePins(zoneToReturnTo, locationToReturnTo);

我在这里真的不知所措,不知道为什么这不起作用。我应该注意的是,javascript和aframe根本不是我的专业领域,我只是在我的一位前同事突然离开公司后才开始这个项目,所以如果我犯了一个基本错误,请原谅。

提前谢谢。

直接在实体上切换视频可能无法正常工作:

document.querySelector("a-video").setAttribute("src", "vid.mp4")

因为当前tmp<video>处理。


您应该尝试使用资产管理系统:

<a-assets>
<video id="vid" src="derby.mp4"></video>
</a-assets>
<!-- Scene. -->
<a-plane src="#vid"></a-plane>

JS

(#vid).setAttribute("src", "newvid.mp4")

相关内容

最新更新