2016-07-11 10 views
0

これは現在進行中の問題の一部である一時停止、遠吠えミュート一時停止方法:私は遠吠えは実際にはなく、「ミュート」効果で一時停止していないとの問題を抱えているtriggering files from an array/for-loopHowler.js - だけでなく、実際に彼らが

。ハウツーはクリックが一時停止するとミュートされますが、黙って走り続けます。私は.stop()を使ってみましたが、同じ結果を得ています。

私はonendのプロパティを使用しており、.pause()メソッドが機能していないことを示しています。一時停止/再生を繰り返しクリックすると、すべてがかなり乱雑になります!

ハウリングと関連するコントロールボタンが配列からスクリプト化される前に、一時停止は完全に機能しました。これは、pauseメソッドが正常に動作しなくなった配列が使用されたためです。ここで

です:fiddle of the current pause issue(コンソールログが働いている)

ここにJSだ:これはハウラーのv1.1.29を使用しているレコードの

var sounds = ['sound1', 'sound2']; 
var howls = {}; 
sounds.forEach(function(sound){ 
    howls[sound] = new Howl({ 
     urls: ['http://powellian.com/assets/audio/' + sound + '.mp3', 'http://powellian.com/assets/audio/' + sound + '.ogg'], 
     volume: 1, 
     onplay: function() { 
      console.log('PLAYING: ' + sound); 
      $('#' + sound).removeClass('static').addClass('PLAYING'); 
      $('#' + sound + ' span.play').addClass('hide'); 
      $('#' + sound + ' span.pause').removeClass('hide'); 
     }, 
     onpause: function() { 
      console.log('PAUSED: ' + sound); 
      $('#' + sound).removeClass('PLAYING').addClass('PAUSED'); 
      $('#' + sound + ' span.play').removeClass('hide'); 
      $('#' + sound + ' span.pause').addClass('hide'); 
     }, 
     onend: function() { 
      console.log('ENDED: ' + sound); 
      $('#' + sound).removeClass().addClass('static'); 
      $('#' + sound + ' span.play').removeClass('hide'); 
      $('#' + sound + ' span.pause').addClass('hide'); 
     } 
    }); 

    // PLAY btn 
    $('#' + sound + ' span.play').click(function() { 
     howls[sound].play(); 
    }); 
    // PAUSE btn 
    $('#' + sound + ' span.pause').click(function() { 
     howls[sound].pause(); 
    }); 
}); 

。 v2.0で試してみましたが、これは他のさまざまな理由でまったく動作しません(たとえば、配列をロードしません.2.0は必要ありませんが、この問題があればテストを実行する意思があります)。

ご協力いただければ幸いです。

+0

2.0では配列がロードされないということを意味しますか? 'urls'を' src'に変更しましたか? –

+0

Noは常に 'urls'でしたが、ローカルに更新されたばかりで、2.0は現在ここにリストされているのと同じ問題でうまくいきます。前に更新していて、エラーmsgが配列を読み込めなかったということでした。私はcdnjsから2.0-beta *へのリンクを使用するかどうかわからないので、1.1.29を残しました – redplanet

+0

'pause'が打ち切られても、効果的に静かに実行され、' onend' - あなたがすぐに 'play'をもう一度発射すれば、' onend'が2回発射されます。これは、実際に演奏/レイヤリング、一時停止していないサウンドで、「再生」して何回も発生します。 console.logはそれを示しています。希望が助けてくれてありがとう – redplanet

答えて

0

固定 - 私の悪いが、v2.0で実現しなかったurlssrcに変更する必要があったので、すべてうまくいきました。

ローカルバージョンでは、アレイに別のオーディオファイルを追加し、一時停止してonendを完全に動作させました。アドバイスありがとうございます!

ここにありますupdated fiddle using 2.0.0-beta14

+0

[fiddle](https://jsfiddle.net/8sxfc2Lt/4/)を更新/リファクタリングしました。 – redplanet

関連する問題