2

Howler js ライブラリを使用して、Electron を介して実行されるアプリにプレーヤーを設定しています。最初はすべて問題なく動作しているように見えましたが、アプリを数週間使用した後、バグが繰り返し発生しましたが、常にではありませんでした:pause()機能が動作しません。ここにいくつかのコードがあります:

初期化:

    var is_paused = true;
    var currentTrack = "track1";

    var tracks =    {"track1" :  new Howl({urls: ['path/to/track1.mp3']}),
                    "track2" : new Howl({urls: ['path/to/track2.mp3']}),
                    "track3" : new Howl({urls: ['path/to/track3.mp3']})
    };

次に、再生/再開、一時停止、停止、および特定のトラックの再生のためのいくつかのボタンがあります。

$('#playS').click(function(){
        if (is_paused){
            tracks[currentTrack].play();
            is_paused = false;
        }
    });

$('#pauseS').click(function(){
        tracks[currentTrack].pause();
        is_paused = true;
    });

$('.trackBtn').click(function(){
        tracks[currentTrack].stop(); 
        currentTrack = $(this).attr('id');
        tracks[currentTrack].play();
        is_paused = false;
    });

問題は、ときどき (通常、トラック再生の 40 ~ 45 分後)、pause()機能が何もしないことです。これは、トラックを一時停止して別の 30 秒のファイルを再生してから、現在のトラックを再開する必要があるため、非常に面倒です。バグが発生している間にコンソールを確認しましたが、まったく何も表示されません。バグがどこから来たのかわかりません。ライブラリがどのように機能するかについての情報はあまりありません。ここで本当に助けが必要です、事前に感謝します。

編集 : もう 1 つ、pause()機能しない場合play()、トラックをクリックすると最初から再生され、トラックのこの 2 番目のインスタンスを制御できます。最初のインスタンスが最後に達したようですが、まだ再生中です。

4

1 に答える 1