加载图像后未加载音频文件(Javascript控制台未显示“已加载音频”):
//Audio object :
var audio = new Audio("foo.mp3");
//Image :
var img = new Image();
img.src = "foo.png";
//Loading image :
img.onload = function()
{
console.log("Image loaded");
//Loading audio file :
audio.onloadeddata = function()
{
console.log("Audio loaded");
};
};
那么为什么此代码不起作用?
答案 0 :(得分:0)
您正在将音频侦听器附加到img.onload中。这意味着只有先加载图像,然后音频完成,您才可以获取console.log。解决方案:将audio.onloadeddata移出img.onload。
编辑:从您的评论中可以很明显地看出,您想先加载图像。但是这一行:
var audio = new Audio("foo.mp3");
已经开始加载音频。
您想要的是在加载图像时加载它,因此,请执行以下操作:
// Image :
var img = new Image();
img.src = "foo.png"; // starts loading image
// When image loading is done:
img.onload = function()
{
console.log("Image loaded");
// Audio object :
var audio = new Audio("foo.mp3"); // starts loading audio
// When loading is done:
audio.onloadeddata = function()
{
console.log("Audio loaded");
};
};