为什么使用 ARJS 我的视频只能播放声音而不能播放视频?

Why does my video only play sound and no video with ARJS?

我正在使用 ARJS 构建增强现实应用程序。我正在使用图像作为标记,它似乎可以正常工作。目标是在图像跟踪器检测到正确的图像时播放视频,但是,它只播放音频而不是整个视频。

index.html

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="apple-mobile-web-app-capable" content="yes">
  <link rel="stylesheet" href="css/styles.css">
  <script src="./js/image-tracker/aframe-master.min.js"></script>
  <script src="./js/image-tracker/aframe-ar-nft.js"></script>
  <title>Test</title>
  <script>
    AFRAME.registerComponent('controller', {
        init: function() {
          this.toggle = false;
          this.video = document.querySelector('#video');
          this.video.pause();
        },

        tick: function() {
          if (this.el.object3D.visible === true) {
            if (!this.toggle) {
              this.toggle = true;
              this.video.play();
            }
          } else {
            this.toggle = false;
            this.video.pause();
          }
        }
      })
  </script>
</head>

<body>
  <div class="arjs-loader">
    <div>Loading, please wait...</div>
  </div>
  <a-scene
    vr-mode-ui="enabled: false;"
    renderer="logarithmicDepthBuffer: true;"
    embedded
    arjs="trackingMethod: best; sourceType: webcam;debugUIEnabled: false;"
  >
    <a-assets>
      <video id="video" src="http://localhost:5000/assets/animation.mp4" webkit-playsinline playsinline></video>
    </a-assets>

    <a-nft
      controller
      type="nft"
      url="./image_descriptors/car"
      smooth="true"
      smoothCount="10"
      smoothTolerance="0.01"
      smoothThreshold="5"
    >
      <a-video
        width="1.75"
        height="2"
        position="200 0 -10"
        rotation="0 90 0"
        src="#video"
      ></a-video>
    </a-nft>
    <a-entity camera></a-entity>
  </a-scene>
</body>
</html>

可能有多种原因,以下是其中一些:

  1. 确保没有控制台错误并且场景加载正确(你的沙箱给了我 out of memory!!! 问题,也有一些 CORS 问题)。

  2. 确保视频位于标记的顶部。我会用一个超大的盒子(或检查员)来找出物品在哪里,并调整位置/比例。

我已经将你的 car.jpg 大小调整为 1024x1024 并制作了 NFT 描述符,它似乎可以正常工作 link to the forked sandbox with new descriptors :