У нас есть приложение с мобильными аудиоклиентами, написанное на низкоуровневом OpenSL ES для достижения входа с низким уровнем задержки с микрофона. Затем мы отправляем кадры 10 мс, инкапсулированные в дейтаграмму UDP на сервер.Android OpenSL ES частота кристаллов
На сервере мы выполняем некоторую пост-обработку, зависящую от предположения, что кадры из мобильных клиентов поступают с фиксированными интервалами (например, 10 мс на фрейм), поэтому мы можем их выровнять.
Похоже, что внутренние частоты кристалла на мобильных телефонах могут сильно варьироваться, и благодаря этому мы получаем идеальное выравнивание в начале, но плохое выравнивание через несколько минут.
Я знаю, что ALSA на Linux может рассказать вам точную частоту кристалла - так что вы можете исправить свои подсчеты на основе этого. К сожалению, я не знаю, как получить эту информацию в Android.
Thx за помощью