Javascript 如何使用另一个函数中的路径运行Audio.play,就像它们在同一个函数中一样快?
我正在尝试制作一个类似“饼干点击器”的游戏,每次点击后我都需要播放一个声音。我的问题是新音频和Audio.play在两个单独的函数中(带有全局变量),这会导致从单击到声音的延迟 有没有办法消除延迟,而不将它们移动到相同的功能 这里是定义音频的地方:Javascript 如何使用另一个函数中的路径运行Audio.play,就像它们在同一个函数中一样快?,javascript,audio,avaudioplayer,Javascript,Audio,Avaudioplayer,我正在尝试制作一个类似“饼干点击器”的游戏,每次点击后我都需要播放一个声音。我的问题是新音频和Audio.play在两个单独的函数中(带有全局变量),这会导致从单击到声音的延迟 有没有办法消除延迟,而不将它们移动到相同的功能 这里是定义音频的地方: [].forEach.call(document.getElementById('skins').children, function(e) { e.onclick = function () { klikketskin = this.id;
[].forEach.call(document.getElementById('skins').children, function(e) {
e.onclick = function () {
klikketskin = this.id;
clicklyd = new Audio(`Medier/Lyd/Clicker/${klikketskin}.mp3`); }
下面是它的播放位置(稍后在脚本中):
现在的状态(打开声音):
我想要的(打开声音):
坦克你!:D在再次调用play()
之前,您应该将currentTime
属性重置回0
,这将让声音从一开始就重放
function clickevent() {
clicklyd.currentTime = 0;
clicklyd.play();
}
然而,如果之前的声音还没有结束,这将切断它
function clickevent() {
clicklyd.currentTime = 0;
clicklyd.play();
}