Android Visualizer FFT / форма волны зависит от громкости устройства?

Я работаю над анализом музыки, используя класс 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 , кажется, что если мы передаем действительный идентификатор аудиосеанса, то визуализатор должен работать с этим аудиосеансом. Похоже, что визуализатор работает с выходным миксом.

Кто-нибудь еще сталкивался с этим или находил способ обойти это?

Спасибо

8
задан user1035335 8 November 2011 в 10:03
поделиться