Jak pracować z wynikiem onWaveFormDataCapture obiektu Visualizer?

Jestem nowy w programowaniu i wizualizacji Androida. Chcę utworzyć prosty wizualizator audio za pomocąMediaPlayer iVisualizer klasy. Moim problemem jest to, że nie wiem cowave form data naprawdę jest. Czy muszę go używać do wizualizacji dźwięku? Używam poniższego kodu. Problem polega na tym, że wizualizuje dźwięk tylko przez pierwsze 10-12 sekund pliku; po tym, nie mogę uchwycić więcej danych! Gdzie popełniłem błąd?

public void attachVisualizer()
{
    Visualizer vis = new Visualizer(mPlayer.getAudioSessionId());

    vis.setCaptureSize(Visualizer.getCaptureSizeRange()[0]);
    vis.setDataCaptureListener(new Visualizer.OnDataCaptureListener() {
        public void onWaveFormDataCapture(Visualizer visualizer, byte[] bytes, int samplingRate) {
            int sum = 0;

            for(int i = 0; i < bytes.length; i++) {
                sum += bytes[i];
            }

            if(sum > 8000) {
                // Do something which uses mPlayer.getCurrentPosition() in mathematics
            }
        }

        public void onFftDataCapture(Visualizer visualizer, byte[] fft, int samplingRate) {}
    }, Visualizer.getMaxCaptureRate() , true, false);

    vis.setEnabled(true);
}

EDYTOWAĆ
Kolejne pytanie w mojej głowie brzmi, jak nagrać czas w danym segmencie audio?

questionAnswers(1)

yourAnswerToTheQuestion