2015-11-08 106 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