我们有一个使用低级 OpenSL ES 编写的带有移动音频客户端的应用程序,以实现麦克风的低延迟输入。比我们向服务器发送封装在 UDP 数据报中的 10ms 帧。
在服务器上,我们正在做一些后期处理,这在很大程度上取决于来自移动客户端的帧以固定间隔(例如每帧 10 毫秒)出现的假设,因此我们可以对齐它们。
手机内部晶体频率似乎变化很大,正因为如此,我们在开始时得到了完美的对齐,但几分钟后对齐不佳。
我知道,Linux 上的 ALSA 可以告诉你晶体的确切频率——所以你可以根据这个来纠正你的计数。不幸的是,我不知道如何在 Android 中获取这些信息。
谢谢帮助