我正在创建一个适用于 iPad 的 HTML5 网络应用程序,但它也可以在 PC 浏览器中运行。我正在使用 javascript 函数 setTimeout 将一些屏幕转换与在后台播放的音频文件同步。
具体来说,我使用的代码是:
setTimeout(showStartScreen, 30000);
setTimeout(showInstructionScreen, 60000);
在 PC 上,时间安排完美,过渡与音频完美匹配。在 iPad 2 上,转换比在 PC 上快大约半秒。在 iPad 3 上,转换速度更快。
有没有更可靠的方法来跨不同平台计时?
最佳答案
与其创建超时并希望计时器保持同步,不如轮询音频的 currentTime
并采取行动。
setInterval(function() {
var now = audio.currentTime;
// do something based on the audio's position.
},25);
这假设您使用的是 HTML5 <audio>
元素。
关于javascript - setTimeout 在 iPad 上比在 PC 上运行得更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12540077/