簡體   English   中英

Howler.js-僅暫停方法使嘯叫靜音,實際上不暫停它們

[英]Howler.js - pause method only Muting howls, not actually Pausing them

這是一個持續存在的問題的一部分: 從數組/循環中觸發文件

我有一個問題,那就是How叫聲實際上並沒有暫停,但實際上是“靜音”。 click叫時,叫聲會靜音,但會繼續靜默運行。 我嘗試使用.stop()但得到的結果相同。

我正在使用onend屬性,它表明.pause()方法不起作用。 重復單擊暫停/播放時,一切都會變得很混亂!

在從數組編寫the叫和相關控制按鈕的腳本之前,暫停效果非常好。 由於使用了數組,所以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,但是如果有幫助的話,我願意對此問題進行測試)。

任何幫助將不勝感激,並在此先感謝。

已修復-我的問題很糟糕,但是在v2.0中,我沒有意識到需要將urls更改為src所以做到了,而且一切正常。

在本地版本上,我向該陣列添加了另一個音頻文件,並且暫停和播放均正常。 謝謝你的建議!

這是使用2.0.0-beta14更新小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM