【问题标题】:preloading the next song in a playlist a bit before the current one ends在当前歌曲结束之前预加载播放列表中的下一首歌曲
【发布时间】:2015-04-18 21:30:37
【问题描述】:

我制作了一个可以正常工作的小型媒体播放器,但我想制作它,以便在每首歌曲之间不再加载

我知道 preload 属性,但它只在页面第一次加载时预加载音乐,所以我觉得这行不通

有没有办法做到这一点?也许使用网络音频 API?

【问题讨论】:

    标签: javascript audio web web-audio-api


    【解决方案1】:

    当您开始播放歌曲时,您可以观看音频的play 事件,并且已经开始预加载队列中的下一首歌曲。

    这是我用于预加载音频的功能,您可以随时使用它,不仅是在第一次加载页面时:

    function preloadAudio (filename) {
    
        var sound = new Audio();
        sound.preload = 'auto';
    
        sound.addEventListener('canplaythrough', function () {
            // now the audio is ready to play through
        });
    
        document.body.appendChild(sound);
    
        sound.src = filename;
        sound.load();
    
    }
    

    【讨论】:

    • 所以为了做我想做的事,我必须使用多个音频“对象”?
    • 是的,每个要播放的声音文件都需要一个音频对象。
    • 嗯...我想我现在不能添加它:/ 哦,好吧,不过感谢您的帮助!
    • 你为什么做不到?
    • 我想只使用一个音频标签来做(我现在音乐结束时正在更改 src)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多