我正在创建一个应用程序,需要声音或声音可能每隔约25毫秒播放一次。 (每分钟300次,每次可能有8次“比赛”)
起初我使用SoundPool来完成此任务。我有3个帖子。一个是更新SurfaceView动画,一个是使用System.nanoTime()更新时间,另一个是使用Soundpool播放声音(mp3)。
这样可行,但似乎使用了很多处理器能力,因为无论何时运行后台进程,例如WiFi重新扫描或GC,它都会在这里和那里开始跳过节拍,这是不可接受的。
我正在寻找替代解决方案。我看过混音和JET引擎。
JET引擎似乎不是一个解决方案,因为它只使用MIDI。我的应用程序需要高质量的声音(来自实际乐器的录音)。 (纠正我,如果我错了midi不高质量)
Android的混音似乎非常复杂,因为它首先必须获得原始声音(占用大量内存)并在声音之间创建“静音”。我不确定这是否是最优雅的解决方案,因为我的应用程序将具有由用户控制的可变速度(bpm)。
如果有人在这方面有经验,我会非常感谢任何建议。
谢谢