2012-09-22 92 views
2

我正在爲iPad創建一個HTML5 Web應用程序,但它也可以在PC瀏覽器中運行。我正在使用javascript函數setTimeout來同步一些屏幕轉換和在後臺播放的音頻文件。setTimeout在iPad和PC上運行速度更快

具體來說,我正在使用的代碼是:

setTimeout(showStartScreen, 30000); 
setTimeout(showInstructionScreen, 60000); 

在PC上的時間是完美的過渡與音頻罰款相匹配。在iPad 2上,轉換速度比PC上快了大約半秒。在iPad 3上,轉換速度更快。

是否有更可靠的方法來定時跨越不同的平臺?

+0

你能分割你的音頻文件? – akonsu

+0

不,在iOS5我需要用戶互動來播放每個文件,所以爲了避開我將它們鏈接在一起成爲一個文件 –

+0

或者使用播放器,可以返回播放音頻的當前位置,如果你不使用已經 – Alexander

回答

7

與其創建超時並希望定時器保持同步,您應該輪詢音頻的currentTime並對其執行操作。

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

這裏假定您使用的是HTML5 <audio>元素。

+0

完美!非常感謝你。 –

相關問題