Я хочу проанализировать записанный звук микрофона моего приложения для Android.
К сожалению, Visualizer может работать только на AudioTrack, который воспроизводится в данный момент. В настоящее время я записываю с помощью AudioRecord и копирую данные в AudioTrack. где визуализатор слушает. Но эта архитектура вызывает ужасную петлю воспроизведения-записи.
Одним из обходных путей было уменьшение громкости AudioTrack до минимально возможного уровня во время записи, но это совсем не похоже на хорошее решение.
Есть ли альтернатива классу Visualizer, который предоставляет средства для захватить FFT-данные с записанной дорожки?
AudioRecord
объектуVisualizer
?Visualiser mVisualizer = new Visualizer(mAudioRecord.getAudioSessionId());
- person Brett Duncavage   schedule 10.04.2013AudioRecord
, к сожалению, не предоставляет такой метод, какgetAudioSessionId()
. Другая проблема с моим временным обходным решением заключается в том, что уменьшение громкости устройства также отключит звук audioTrack, что означает, что анализ больше не выполняется. - person Alexander Pacha   schedule 12.04.2013getAudioSessionId()
предоставлено, что он доступен только на уровне API 16 и выше. - person Brett Duncavage   schedule 12.04.2013RuntimeException
: Не удается инициализировать модуль визуализатора, ошибка -4 - person Alexander Pacha   schedule 12.04.2013