Javascript 无延迟地播放无限循环音频文件
Javascript playing an endless loop audio file without delay
标题几乎不言自明。
我想用 JavaScript 创建一个无限循环,但在读取(再次)完全相同的文件之间不停止。
这是我的代码:
function playMySong(url)
{
var audio=document.createElement('audio');
audio.style.display="none";
audio.src=url;
audio.autoplay=true;
audio.onended=function()
{
playMySong('whiteNoise.wav');
};
document.body.appendChild(audio);
}
playMySong('whiteNoise.wav');
我的代码(几乎)完美运行,但我想读取声音结尾与同一文件开头之间的微小延迟。
不是:
[whiteNoise.wav][0.2ms delay][whiteNoise.wav]
我要:
[whiteNoise.wav][whiteNoise.wav]
:)
当音频文件到达结尾时,您正在一次又一次地加载它。显然,加载资源需要时间。
为什么不对 audio
元素使用简单的 loop 属性?它会循环播放音频剪辑本身,而无需一次又一次地加载资源。
function playMySong(url)
{
var audio=document.createElement('audio');
audio.style.display="none";
audio.src=url;
audio.autoplay=true;
audio.loop = true;
document.body.appendChild(audio);
}
playMySong('whiteNoise.wav');
标题几乎不言自明。
我想用 JavaScript 创建一个无限循环,但在读取(再次)完全相同的文件之间不停止。
这是我的代码:
function playMySong(url)
{
var audio=document.createElement('audio');
audio.style.display="none";
audio.src=url;
audio.autoplay=true;
audio.onended=function()
{
playMySong('whiteNoise.wav');
};
document.body.appendChild(audio);
}
playMySong('whiteNoise.wav');
我的代码(几乎)完美运行,但我想读取声音结尾与同一文件开头之间的微小延迟。
不是:
[whiteNoise.wav][0.2ms delay][whiteNoise.wav]
我要:
[whiteNoise.wav][whiteNoise.wav]
:)
当音频文件到达结尾时,您正在一次又一次地加载它。显然,加载资源需要时间。
为什么不对 audio
元素使用简单的 loop 属性?它会循环播放音频剪辑本身,而无需一次又一次地加载资源。
function playMySong(url)
{
var audio=document.createElement('audio');
audio.style.display="none";
audio.src=url;
audio.autoplay=true;
audio.loop = true;
document.body.appendChild(audio);
}
playMySong('whiteNoise.wav');