为啥我的视频在 ARJS 中只播放声音而没有视频?
Posted
技术标签:
【中文标题】为啥我的视频在 ARJS 中只播放声音而没有视频?【英文标题】:Why does my video only play sound and no video with ARJS?为什么我的视频在 ARJS 中只播放声音而没有视频? 【发布时间】:2022-01-03 21:21:25 【问题描述】:我正在使用 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
position="200 0 -10"
rotation="0 90 0"
src="#video"
></a-video>
</a-nft>
<a-entity camera></a-entity>
</a-scene>
</body>
</html>
【问题讨论】:
视频已暂停,或不在任何地方? 您好,视频正在从我的本地节点快速服务器提供。正如您在上面的脚本中看到的那样,当我指向图像时会复制视频,当我停下来指向图像时会暂停。这个逻辑是有效的。我可以听视频的音频,但看不到视频。 如果你撞墙了,我有几个想法 - 1)在同一位置放置一个盒子/球体并检查它是否可见(即使它也是小到看不到,或者在相机视图之外)2)移动设备可能需要用户交互才能播放视频。 你也可以用一个普通的标记/香草a-frame来试一试,以排除它是否与arjs有关 我只用场景和盒子创建了一个全新的项目。但是,当我放置一个 标记并抓住标记内的盒子时,它就停止了工作。似乎与位置有关。在标记之外,我必须放置一个位置“0 0 -3”才能看到该框。 【参考方案1】:可能有多种原因,以下是其中的一些:
确保没有控制台错误并且场景正确加载(您的沙盒给了我out of memory!!!
问题,还有一些 CORS 问题)。
确保视频放置在标记的顶部。我会使用一个超大的盒子(或检查器)来找出物品在哪里,并调整位置/比例。
我已将您的 car.jpg
大小调整为 1024x1024 制作了 NFT 描述符,它似乎可以正常工作 link to the forked sandbox with new descriptors :
【讨论】:
以上是关于为啥我的视频在 ARJS 中只播放声音而没有视频?的主要内容,如果未能解决你的问题,请参考以下文章