Javascript 新音频是否预加载声音文件?

Javascript 新音频是否预加载声音文件?,javascript,html,audio,Javascript,Html,Audio,我得到了一个音频元素,并像这样播放声音: let audio = document.querySelector(`audio[data-key="${e.key}"]`); audio.play(); 但是,有时(我使用Chrome)在播放声音时会出现延迟,因此我还添加了以下代码: let audioElems = document.querySelectorAll('audio'); audioElems.forEach(function (audio) { new Audio(`.

我得到了一个音频元素,并像这样播放声音:

let audio = document.querySelector(`audio[data-key="${e.key}"]`);
audio.play();
但是,有时(我使用Chrome)在播放声音时会出现延迟,因此我还添加了以下代码:

let audioElems = document.querySelectorAll('audio');
audioElems.forEach(function (audio) {
    new Audio(`./sounds/${audio.dataset.key}.mp3`);
});

一开始似乎有点不同,但现在我又一次被耽搁了。额外的代码是否会起作用,使用
new Audio
会实际预加载声音文件吗?

它不一定要预加载,但它会创建一个HTMLAudioElement,并将
preload
属性设置为
auto

这意味着UAs被告知,如果适当地调暗资源,他们应该预加载资源,例如,如果使用移动数据,他们可以忽略资源


console.log(新音频)
HTML5音频/视频标签具有可选的预加载属性。您的音频标签当前是否启用了此属性

使用
newaudio()
构造函数时,默认值为
preload=“auto”
,因此这确实会有所不同