Javascript setTimeout在iPad和PC上运行得更快

Javascript setTimeout在iPad和PC上运行得更快,javascript,ios,Javascript,Ios,我正在创建一个适用于iPad的HTML5网络应用程序,但也可以在PC浏览器中运行。我使用javascript函数setTimeout将一些屏幕转换与在后台播放的音频文件同步 具体来说,我使用的代码是: setTimeout(showStartScreen, 30000); setTimeout(showInstructionScreen, 60000); 在个人电脑上,时间是完美的,过渡与音频匹配良好。在iPad2上,转换速度比在PC上快约半秒。在iPad3上,转换速度甚至更快 是否有更可靠的

我正在创建一个适用于iPad的HTML5网络应用程序,但也可以在PC浏览器中运行。我使用javascript函数setTimeout将一些屏幕转换与在后台播放的音频文件同步

具体来说,我使用的代码是:

setTimeout(showStartScreen, 30000);
setTimeout(showInstructionScreen, 60000);
在个人电脑上,时间是完美的,过渡与音频匹配良好。在iPad2上,转换速度比在PC上快约半秒。在iPad3上,转换速度甚至更快


是否有更可靠的方法跨不同平台计时?

与其创建超时并希望计时器保持同步,不如轮询音频的
currentTime
,然后执行此操作

setInterval(function() {
    var now = audio.currentTime;
    // do something based on the audio's position.
},25);

这假设您使用的是HTML5
元素。

您可以将音频文件拆分为多个部分吗?不,在iOS5中,我需要用户交互来播放每个文件,以便将它们链接到一个文件中,或者使用可以返回播放音频的当前位置的播放器,如果您没有使用alreadyPerfect!非常感谢你。