#1110·howler.js

HTML5 音频池已耗尽

作者: vladmarton创建于 2018年12月29日更新于 2026年2月13日

所以我有一个网站,你可以在 div 上悬停,这样就开始播放歌曲。这里有很多这样的 div,我在这一过程中遇到了很多问题,但我终于达到了网站不出现问题的程度。实际上,现在只有一个问题。当我通过悬停不同的 div 播放几首歌曲,然后重新加载页面时,有时会出现声音没有播放的情况,直到我清除缓存或强制刷新页面。浏览器会显示: HTML5 Audio pool exhausted, returning potentially locked audio object.

以下是我的代码:

$(this).hover(
    function() {
        $("#spinner-loading-voice").css("display", "block");
        if (sound != null) {
            if (sound.playing()) {
                sound.stop();
                sound.unload();
            }
        }
        sound = new Howl({
            src: voice["mp3_local_path"],
            format: "mp3",
            html5: true,
            onload: function() {
                if (sound != null) {
                    if (!sound.playing()) {
                        sound.play();
                    } else {
                        sound.stop();
                        sound.unload();
                        sound.play();
                    }
                }
                $("#spinner-loading-voice").css("display", "none");
            },
            onplayerror: function() {
                sound.once('unlock', function() {
                    sound.play();
                });
            }
        });
    },
    function() {
        sound.unload();
        $("#spinner-loading-voice").css("display", "none");
    }
); 

内容来源: goldfire/howler.js