Аудиоресурсы aframe - правильно отключите источник звука

Для некоторого контекста у меня есть серия панорамных изображений, и с каждым изображением связан другой аудиофайл (mp3). Я пытаюсь воспроизвести соответствующий источник звука при изменении изображения панорамы, однако мне не удается отключить предыдущий источник звука.

    <a-assets>
      <audio
        id="vr-audio"
        src={`http://res.cloudinary.com/concept3d/video/upload/audio_files/${trackId}`}
        preload="auto"
      />
    </a-assets>
      {Boolean(tracks.length) && <a-entity sound="src: #vr-audio" />}

Интерполированный trackId изменяется, когда панорама изменяется и извлекается из состояния моих компонентов. Я вижу, что URL-адрес audio src изменяется, как ожидалось, но когда я запрашиваю звуковой объект, звук src не обновляется до нового URL-адреса.

Любой совет приветствуется.

0
0
137
1

Ответы 1

Не меняйте аудиоэлемент на месте, компонент этого не поймет. Вместо этого измените свойство src звукового компонента. Может принимать URL. <a-assets> действительно не нужен, кроме как для предварительной загрузки.

soundEl.setAttribute('sound', 'src', 'http://res.cloudinary.com/concept3d/video/upload/audio_files/${trackId}');

Если вы хотите управлять аудиоэлементом, создайте новый аудиоэлемент и назначьте новый ID.

Другие вопросы по теме