1

A-Frame シーンで A-Sound を再生しようとすると、Safari が 2 回目に InvalidStateError をスローします。

  • AR.js マーカーが表示されたときにサウンドを再生しようとしました (そのためのイベントはありません)。
  • マーカーの可視性が変化するかどうかを確認し、それに応じて A サウンドを再生/一時停止する新しいコンポーネントを定義しました。
  • 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();
        }
 	}
}

4

0 に答える 0