0

これは進行中の質問の一部です:配列/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 は必要ありませんが、この問題が解決する場合は、この問題でテストを実行したいと考えています)。

どんな助けでも大歓迎です、そして前もって感謝します。

4

1 に答える 1

0

修正済み - 私の悪いところですが、v2.0 では変更するurls必要があることを認識しsrcていなかったので、変更してすべて正常に動作しています。

ローカルバージョンでは、配列に別のオーディオファイルを追加し、一時停止とオンエンドはすべて完全に機能しました。アドバイスありがとうございます!

2.0.0-beta14 を使用して更新されたフィドルを次に示します。

于 2016-07-12T12:13:00.807 に答える