我正在使用A-frame ( https://aframe.io ) 和联网 A-frame 组件 ( https://www.npmjs.com/package/networked-aframe ) 创建项目
(项目位于:https://glitch.com/edit/#!/networkedtest?path=public%2Fscene.html%3A44%3A0)
我遇到了视频源问题。目前在我的项目中,视频源工作得很好,但是每当我在 scene.html 中的第 202 行切换这行代码时:
<a-scene moving-sun vr-mode-ui="enabled: false;" physics networked-scene="
room: audio;
adapter: easyrtc;
audio: true;
video: true;
debug: true;
inspector=https://cdn.jsdelivr.net/gh/aframevr/aframe-inspector@master/dist/aframe-inspector.min.js">
使用此代码:
<a-scene moving-sun vr-mode-ui="enabled: false;" physics dynamic-room="
room: audio;
adapter: easyrtc;
audio: true;
video: true;
debug: true;
inspector=https://cdn.jsdelivr.net/gh/aframevr/aframe-inspector@master/dist/aframe-inspector.min.js">
如果我通过拉出两个选项卡来测试我的代码,视频源应该在的地方只有一个空白的白色平面。我不知道为什么,但每当我交换行的一部分 networked-scene=""
使用 dynamic-room=""
时,视频源将停止工作,当您加入另一个选项卡时,您看到的只是视频源应在的白色屏幕。
我不确定为什么会发生这种情况,因为我所做的只是更改动态房间
的networked-scene
。我尝试通过修改一些代码来修复此错误,但仍然找不到此问题的答案。我感觉问题出在 public/js/dynamic-room.component.js
中的某个地方,但我可能错了。
如果您知道如何解决这个问题,我们将非常感谢您的帮助。
链接到我的项目:https://glitch.com/edit/#!/networkedtest?path=public%2Fscene.html%3A44%3A0
最佳答案
这是 this question 的后续内容.
您的dynamic-room
仅设置房间ID,并发出connect
,以便networked-scene
尝试连接到服务器:
// public/js/dynamic-room.component.js
// Setup networked-scene
var networkedComp = {
room: params.room
};
// set the room
el.setAttribute("networked-scene", networkedComp);
// emit connect
el.emit("connect", null, false);
在这种情况下,它不是networked-scene
的替代品,它们一起工作。如果您在场景之前禁用自动连接:
<script>
AFRAME.components["networked-scene"].schema.connectOnLoad.default = false;
</script>
<a-scene dynamic-room networked-scene>
视频按预期显示 ( glitch here )
如果您希望动态房间
完成网络场景
中的所有设置,那么Michaels的答案也是正确的。
关于javascript - 动态房间和视频的网络 A 框架问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69306679/