Aframe音频资产-正确断开音频src

时间:2018-09-13 19:08:39

标签: audio aframe

对于某些情况,我有一系列的全景图像,每个图像都有一个与之关联的不同的音频文件(mp3)。当全景图片更改时,我正在尝试播放相关的音频src,但是我似乎无法断开先前的音频src。

    <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也会更改。我可以看到音频src的URL发生了预期的变化,但是当我查询声音实体时,声音src不会更新为新的url。

任何建议都值得赞赏。

1 个答案:

答案 0 :(得分:0)

请勿在适当位置更改音频元素,该组件将无法捕获该元素。改为更改声音组件的src属性。它可以带一个URL。除非预先加载,否则实际上<a-assets>并不需要。

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

如果要控制音频元素,请创建一个新的音频元素并分配新的ID。