对于某些情况,我有一系列的全景图像,每个图像都有一个与之关联的不同的音频文件(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。
任何建议都值得赞赏。
答案 0 :(得分:0)
请勿在适当位置更改音频元素,该组件将无法捕获该元素。改为更改声音组件的src
属性。它可以带一个URL。除非预先加载,否则实际上<a-assets>
并不需要。
soundEl.setAttribute('sound', 'src', 'http://res.cloudinary.com/concept3d/video/upload/audio_files/${trackId}');
如果要控制音频元素,请创建一个新的音频元素并分配新的ID。