我有几个实体在一个场景中,是外部触发的,是可见的。当他们是可见的,用户鼠标在他们上面(基于凝视,所以当用户看实体),音频应该是独特的,每个实体。当用户查找其他地方时,音频应该停止。
我遇到的问题是,当多个对象同时打开时,我的自定义组件中的侦听器似乎不知道哪个实体正在播放,并且会停止/启动错误的音频。如何确保侦听器是正确的实体?
引用此:Play sound on click in A-Frame
联署材料:
AFRAME.registerComponent('play-audio', {
init:function() {
let playing = false;
let audio = this.el.components.sound;
this.el.addEventListener('mouseenter', () => {
var viz = this.el.getAttribute('material').visible;
if (viz){
if(!playing) {
audio.playSound();
} else {
audio.stopSound();
}
playing = !playing;
}
});
this.el.addEventListener('mouseleave', () => {
audio.stopSound();
playing = !playing;
})
}
})示例HTML:
<a-sound id="popup1" data-clickable play-audio autoplay="false" loop="false" volume="5" visible="false" src="#audio1">
</a-sound>
<a-sound id="popup2" data-clickable play-audio autoplay="false" loop="false" volume="5" visible="false" src="#audio2">
</a-sound>发布于 2018-09-14 21:16:49
这些装订看起来是对的。
是因为这两种声音同时被交叉/观看吗?我不认为能见度会影响光线播种机。您可以添加/删除数据单击属性。
https://stackoverflow.com/questions/52337513
复制相似问题