2014-01-26 1 views
0

Я использую класс Visualizer для создания визуализации для AudioTrack. Проблема заключается в том, чтобы связать Visualizer с AudioTrack, изменяя аудиовыход, он звучит «ярче» и громче, почти так же, как если бы байты визуализатора добавлялись к воспроизведению дорожки.Связывание визуализатора с AudioTrack изменяет звук

Когда визуализатор установленEEabled (false) или release() 'd, звук возвращается в нормальное состояние. Установка идентификатора сеанса аудио в «0» (выходной микс) не вызывает этой проблемы, однако это решение неприемлемо для моего приложения.

Как я могу связать AudioTrack с визуализатором без изменения аудиовыхода?

Вот код для крепления:

public void link(int audioSessionId) 
    { 

     mVisualizer = new Visualizer(audioSessionId); 
     mVisualizer.setCaptureSize(Visualizer.getCaptureSizeRange()[1]); 

     // Pass through Visualizer data to VisualizerView 
     Visualizer.OnDataCaptureListener captureListener = new Visualizer.OnDataCaptureListener() 
     { 
      @Override 
      public void onWaveFormDataCapture(Visualizer visualizer, byte[] bytes, 
        int samplingRate) 
      { 
       updateVisualizer(bytes); 
      } 

      @Override 
      public void onFftDataCapture(Visualizer visualizer, byte[] bytes, 
        int samplingRate) 
      { 
       updateVisualizerFFT(bytes); 
      } 
     }; 

     mVisualizer.setDataCaptureListener(captureListener, 
       Visualizer.getMaxCaptureRate(), true, true); 

     // Enabled Visualizer and disable when we're done with the stream 
     mVisualizer.setEnabled(true); 
    } 

Все updateVisualizer() методы делают это Invalidate() вид и перерисовать его. Никакой возможной модификации нет.

Возможная ошибка Android? Я заметил это поведение в другом приложении для визуализации.

ответ

0

Эта проблема была вызвана Beats Audio на моем устройстве HTC. Когда он выключен, этого не происходит.

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