小编Jef*_*ney的帖子

在Javascript中预加载音频的问题

我正在尝试为我正在开发的GameAPI制作跨设备/浏览器图像和音频预加载方案.音频文件将预加载,并在完成后发出回调.

问题是,音频不会在慢速页面加载时开始加载,但通常会在第二次尝试时起作用,可能是因为它缓存了它并且知道它存在.

我把它缩小到了audio.load()函数.摆脱它解决了这个问题,但有趣的是,我的摩托罗拉机器人需要这个功能.

您对HTML5音频预加载有哪些经验?

这是我的代码.是的,我知道在单独的功能中加载图像可能会导致竞争条件:)

var resourcesLoading = 0;

function loadImage(imgSrc) {
    //alert("Starting to load an image");
    resourcesLoading++;

    var image = new Image();
    image.src = imgSrc;

    image.onload = function() {
        //CODE GOES HERE
        //alert("A image has been loaded");
        resourcesLoading--;
        onResourceLoad();
    }
}

function loadSound(soundSrc) {
    //alert("Starting to load a sound");
    resourcesLoading++;

    var loaded = false;

    //var soundFile = document.createElement("audio");
    var soundFile = document.createElement("audio");
    console.log(soundFile);
    soundFile.autoplay = false;
    soundFile.preload = false;

    var src = document.createElement("source");
    src.src = soundSrc + ".mp3";
    soundFile.appendChild(src); …
Run Code Online (Sandbox Code Playgroud)

javascript audio html5

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

audio ×1

html5 ×1

javascript ×1