これは進行中の質問の一部です:配列/for ループからファイルをトリガーする
Howls が実際には一時停止しているのではなく、実際には「ミュート」になっているという問題があります。ハウリングは、クリックを一時停止するとミュートされますが、静かに実行され続けます。使用してみまし.stop()
たが、同じ結果が得られます。
onend
機能するプロパティを使用しており、.pause()
メソッドが機能していないことを示しています。一時停止/再生を繰り返しクリックすると、すべてがかなり面倒になります!
遠吠えと関連するコントロール ボタンが配列からスクリプト化される前は、一時停止は完全に機能していました。一時停止メソッドが正しく機能しなくなったのは、配列が使用されたためです。
これは次のとおりです。現在の一時停止の問題のフィドル(コンソールログはそこで機能しています)
js は次のとおりです。
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();
});
});
記録として、これは Howler v1.1.29 を使用しています。v2.0 で試してみましたが、他のさまざまな理由でまったく機能しません (たとえば、配列をロードしません - 2.0 は必要ありませんが、この問題が解決する場合は、この問題でテストを実行したいと考えています)。
どんな助けでも大歓迎です、そして前もって感謝します。