0

playSound 関数が呼び出されたときに、現在再生中のものをすべて停止し、新しく要求されたサウンドを再生したいため、.playing() メソッドを実装するための支援が必要です。呼び出されるたびに停止しない私の例を次に示します。

  function playSound(audio) {
      var playing;
      var sound = new Howl({
        src: ['assets/sound/voice/' + audio],
        autoplay: false,
        volume: 0.9,
        onplay: function() {
          playing = true;
        },
        onend: function() {
          playing = false;
        }          
      });

      if(playing) {
        sound.stop();
      } else {            
        sound.play();      
      }
  }
4

1 に答える 1

2

最終的に解決策は、「サウンド」のグローバル変数を作成することでした。

var sound = null;
function playSound(audio) {
    //check if sound is null, if not stop previous sound and unload it
    if (sound != null) {
        sound.stop();
        sound.unload();
        sound = null;
    }
    sound = new Howl({
        src: ['assets/sound/voice/' + audio]
    });
    sound.play();
}
于 2017-01-05T16:53:24.120 に答える