gpt4 book ai didi

javascript - 在标记检测 A 帧 AR.JS 上播放音频

转载 作者:行者123 更新时间:2023-11-29 23:23:05 26 4
gpt4 key购买 nike

当使用 A 帧和 AR.JS 库检测到标记时,我正在尝试播放音频源。

目前我有以下场景、相机和标记:

  <a-scene embedded arjs='sourceType: webcam; debugUIEnabled: false;';>
<a-marker preset="hiro">
<a-box position='0 0.5 0' material='color: black;'></a-box>
</a-marker>
<a-assets>
<audio id="sound" src="audio.mp3" preload="auto"></audio>
</a-assets>
<a-entity sound="src: #sound" autoplay="false"></a-entity>
<a-entity camera></a-entity>
</a-scene>

我最初尝试了以下方法:

var entity = document.querySelector('[sound]');

if(document.querySelector("a-marker").object3D.visible == true){
entity.components.sound.playSound();
console.log("playing");
} else {
entity.components.sound.pauseSound();
console.log("not playing");
}

但是,它不起作用。关于为什么这不起作用或不起作用的任何想法?我什至没有看到控制台日志,所以它似乎也没有运行。

最佳答案

您是否注册了一个组件来处理每次滴答的声音?

<a-scene embedded arjs='sourceType: webcam; debugUIEnabled: false;';>
<a-assets>
<audio id="sound" src="audio.mp3" preload="auto"></audio>
</a-assets>
<a-marker preset="hiro">
<a-box position='0 0.5 0' material='color: black;' soundhandler>
</a-box>
</a-marker>
<a-entity sound="src: #sound" autoplay="false"></a-entity>
<a-entity camera></a-entity>
</a-scene>

<script>
AFRAME.registerComponent('soundhandler', {
tick: function () {
var entity = document.querySelector('[sound]');
if (document.querySelector('a-marker').object3D.visible == true) {
entity.components.sound.playSound();
} else {
entity.components.sound.pauseSound();
}

}
});
</script>

关于javascript - 在标记检测 A 帧 AR.JS 上播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50027308/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com