如何在A-FRAME 360°图片画廊中动态切换背景音频
A-FRAME 360°全景画廊音频同步切换解决方案
你当前代码的核心问题是已定义的event-set__audio规则未绑定触发事件,无法在点击时执行,且切换音频源后未主动触发播放,按以下步骤修改即可实现需求:
第一步:修改链接模板的事件绑定
找到id为link的template脚本内的a-entity配置,调整event-set__audio规则,绑定click触发事件,同时新增音频重置播放逻辑:
<a-entity class="link" geometry="primitive: plane; height: 1; width: 1" material="shader: flat; src: ${thumb}" event-set__mouseenter="scale: 1.2 1.2 1" event-set__mouseleave="scale: 1 1 1" event-set__click="_target: #image-360; _delay: 300; material.src: ${src}" <!-- 新增event绑定、音频重置播放逻辑 --> event-set__audio="event: click; _target: #ambient; _delay: 300; sound.src: ${audio}; sound.currentTime: 0; sound.play()" proxy-event="event: click; to: #image-360; as: fade" sound="src: #click-sound; autoplay: true; loop: false;"></a-entity>
第二步:修正初始场景音频和全景图的对应关系
你当前初始加载的全景图是城市场景#city,但默认音频是海岸场景的#sechelt-sound,可调整<a-sound>的初始src保持一致:
<a-sound id="ambient" src="#city-sound" autoplay="true" loop="true" position="0 2 5"></a-sound>
修改完成后点击缩略图切换360°全景时,就会同步切换对应的背景音频,且每次切换都会从头开始播放新音频。
内容的提问来源于stack exchange,提问作者kig
相关产品推荐
相关产品推荐

