У меня есть сайт с A-рамкой и AR.JS, где у меня воспроизводится звук при обнаружении маркера. Однако, когда маркер виден, я получаю это предупреждение, постоянно появляющееся несколько раз в консоли.
'components audio warn All the sounds are playing. If you need to play more sounds simultaneously consider increasing the size of pool with the poolSize attribute. <a-entity sound="src: #sound" autoplay="false">'
Кажется, он вызывается для каждого кадра / пары кадров. Есть идеи, как это остановить? Это кажется плохим поведением, особенно для мобильных устройств.
Для справки вот код сцены:
<a-scene embedded arjs='sourceType: webcam; debugUIEnabled: false;';>
<a-assets>
<audio id="sound" src="audio.mp3" preload="auto"></audio>
</a-assets>
<a-marker preset="custom" type="pattern" url="img/pattern-marker.patt">
<!--<a-marker preset="hiro">-->
<!--<a-torus-knot color="#000000" arc="180" p="2" q="7" radius="5" radius-tubular="0.1"></a-torus-knot>-->
<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>
и код, который регистрирует компонент и событие:
AFRAME.registerComponent('soundhandler', {
tick: function () {
var entity = document.querySelector('[sound]');
if (document.querySelector('a-marker').object3D.visible == true) {
entity.components.sound.playSound();
} else {
}
}
});