我正在用webvr进行游览,并使用A型框架来构建它。我有一个奇怪的问题。我似乎能够获得一个框架,以便在视频领域内播放视频并在第一次进入新场景时正确地每秒显示一次,但是无论何时我退出并尝试再次进入它,只有声音能够像预期的那样工作。我想知道在加载视频时是否做错了什么?
我正在从json文件中收集视频的路径,在其中描述每个房间的内容(它们可能具有可交互的16:9视频,图像和排序针脚,还可以简单地加载新场景的针脚)。 加载json后,我将视频球的源设置为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根本不是我的专业领域,我只是在从事该项目的我的一位前同事突然离开公司后才接手这个项目,所以请原谅我一个基本的错误。
谢谢。
答案 0 :(得分:0)
直接在实体上切换视频可能无法正常工作:
document.querySelector("a-video").setAttribute("src", "vid.mp4")
由于当前的tmp <video>
handling。
您应该尝试使用assets management system:
<a-assets>
<video id="vid" src="derby.mp4"></video>
</a-assets>
<!-- Scene. -->
<a-plane src="#vid"></a-plane>
JS
(#vid).setAttribute("src", "newvid.mp4")