Audio 网络音频-如何根据当前时间调用函数?

Audio 网络音频-如何根据当前时间调用函数?,audio,web,timing,web-audio-api,Audio,Web,Timing,Web Audio Api,我想知道你能帮忙吗。我使用网络音频播放音乐一段时间。大约90秒后(取决于歌曲的长度),我想再次调用loadAndPlay()函数来重复播放。该函数将每隔90秒左右调用一次 我想同时使用相同的方法触发效果,使用Tuna.js 这似乎行不通: if (context.currentTime > 90*totalPlays) { loadAndPlay(); } 我也尝试过使用这种方法: if (time > 90*totalPlays){ source.onended

我想知道你能帮忙吗。我使用网络音频播放音乐一段时间。大约90秒后(取决于歌曲的长度),我想再次调用loadAndPlay()函数来重复播放。该函数将每隔90秒左右调用一次

我想同时使用相同的方法触发效果,使用Tuna.js

这似乎行不通:

if (context.currentTime > 90*totalPlays)
{
loadAndPlay();
}
我也尝试过使用这种方法:

if (time > 90*totalPlays){
        source.onended = function()
     {
  console.log("End. starting again");
   loadAndPlay();
   totalPlays++
      }
时间通常在90和105左右。不幸的是,这有时有效,但并非一直有效。无论如何,我想避开“来源。单一化”,因为它是不可靠的

同样的想法是使用特效,提示延迟15秒

while (context.currentTime > 90 && context.currentTime < 105){
delay.wetLevel = 10
}
while(context.currentTime>90&&context.currentTime<105){
延迟。湿级=10
}

如果有人能指出我错在哪里,那就太好了。谢谢大家!

我想你可能误解了JavaScript的工作原理。如果您为代码提供了更多的上下文,则更容易判断(最好是一个完整的示例,您认为应该可以工作)。但您的最后一段代码是一个强烈的信号:如果它在context.currentTime为91时运行,它将只旋转14秒,锁定浏览器。你永远不应该做那种事。而且,我很好奇你为什么说OneNode是不可靠的。某些浏览器中是否存在错误?