Я работаю над анализом музыки, используя класс Visualizer на Android 2.3.1. Я обнаружил, что величина БПФ и формы сигнала зависит от громкости устройства. Это означает, что если у пользователя выключена громкость, я получаю мало или не получаю данных БПФ.
Я тестировал это на Motorola Xoom, Samsung Galaxy Tab и эмуляторе, и он ведет себя следующим образом.
Я использую приведенный ниже код:
mp = new MediaPlayer();
mp.setDataSource("/sdcard/sine1.wav");
mp.prepare();
mp.setLooping(true);
mp.start();
int audioSessionID = mp.getAudioSessionId();
v = new Visualizer(audioSessionID);
v.setEnabled(true);
Глядя на документацию для класса Visualizer , кажется, что если мы передаем действительный идентификатор аудиосеанса, то визуализатор должен работать с этим аудиосеансом. Похоже, что визуализатор работает с выходным миксом.
Кто-нибудь еще сталкивался с этим или находил способ обойти это?
Спасибо