2016-12-28 14 views
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();  
     } 
    } 

答えて

0

ソリューションを、最後に、「音」のグローバル変数を作成することでした。

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(); 
} 
関連する問題