2015-11-08 105 views
0

我目前正面臨編程應用程序(IOS和Android)的任務,其中一個功能將成爲鼓手的節拍器。準確的音頻時機

我不想有多個項目,所以我決定使用科爾多瓦。我偶然發現了很多問題並解決其中的一些:

  • 不能使用setInveral()或如用於精確定時
  • 不能使用任何其他種類的「觸發」音頻
  • 科爾多瓦NativeAudio插件的確也不能真正準確的計時

所以,我遇到了網絡音頻API這不是由Android的股票瀏覽器在大多數平臺上,所以我找到了人行橫道項目,這是彪支持做好支持Web Au dio API。

好消息是,我的節拍器測試在桌面上的Chrome瀏覽器上效果很好。它與我的硬件節拍器並行運行絕對精確。如果我用當前的Android Chrome應用打開它,它也運行得非常好。

它還可以運行在Android應用科爾多瓦(安卓4.3.1,Galaxy Nexus的),但有一些我無法弄清楚但兩件事情:

1)當播放的點擊聲有時聲音有點遲緩(像它一次觸發兩次,但並不總是),更重要的是:

2.)節奏似乎是恆定的,但比我的臺式電腦慢了大約10-20 bpm設置。

這是一種很難把這個變成一個小提琴,但我主持我自己下:

http://gonzales.capella.uberspace.de/sound/

您可以通過Chrome調試器的所有來源。

任何暗示,爲什麼這是在Android設備上運行較慢,以及我如何解決這個問題將有很大幫助。

回答

1

「Temp一貫較慢」聽起來像是一個採樣率轉換問題。無論如何,循環生成的音頻文件將起作用,但效率不高 - 我建議的策略更像我在http://www.html5rocks.com/en/tutorials/audio/scheduling/中詳述的策略。

順便說一句 - 現在的Android瀏覽器現在是Chrome,就像KitKat一樣。當然,這並不是所有的Android都有,但我們已經到了。

+0

這對理解Web Audio Mechanics有很大幫助。 – Chris