Safari 在我第二次尝试在 A-Frame 场景中播放 A-Sound 时抛出 InvalidStateError:
- 当 AR.js 标记可见时,我尝试播放声音(没有事件)。
- 我定义了一个新组件来检查标记的可见性是否发生变化并相应地播放/暂停 A-Sound。
- 它在 Chrome 中运行良好,但在 Safari 中会抛出异常“InvalidStateError:对象处于无效状态”。
标记:
<a-sound
id="halloween2018-sound"
src="/sounds/halloween2018-funny.mp3"
autoplay="false"
loop="true"
soundhandler
>
</a-sound>
Javascript:
AFRAME.registerComponent('soundhandler', {
tick: function () {
var soundEntity = this.el;
if (markerGotVisible && !soundEntity.components.sound.isPlaying) {
soundEntity.components.sound.playSound();
}
else if(markerGotHidden && soundEntity.components.sound.isPlaying){
soundEntity.components.sound.pauseSound();
}
}
}