2012-01-20 7 views
3

Как измерить уровень громкости AudioTrack в android. Я получил немного AudioTrack, инициализированный и работающий одновременно в моем приложении, я хочу измерить уровень громкости AudioTracks, то есть на каком уровне громкости его воспроизведение не является уровнем по умолчанию игрокаandroid AudioTrack Уровень громкости звука

Есть ли способ рассчитать уровень громкости в секунду из 10 (скажем)?

ответ

0

Да - аудиоформат, который вы предоставляете AudioTrack, является необработанным PCM, поэтому каждый образец содержит амплитуду волны в текущем срезе времени.

Поскольку звуковая волна чередуется между положительным и отрицательным, вам нужно абсолютное значение каждого образца (Math.abs()).

Среднее значение всех образцов в течение определенной секунды было бы хорошим началом для расчета текущего уровня громкости. Минимальное значение всегда равно 0, а максимальное значение соответствует глубине выборки (8, 16 или более бит).

Если вы хотите получить более гладкое среднее значение, вы можете сгладить его: total_average = 0.9 * total_average + 0.1 * last_average.

Смежные вопросы