2014-01-26 3 views
0

Visualizer 클래스를 사용하여 AudioTrack에 대한 시각화를 만듭니다. 문제는 Visualizer를 AudioTrack에 연결하면 오디오 출력을 수정하기 때문에 마치 Visualizer 바이트가 트랙 재생에 추가되는 것처럼 "밝고 밝게"들립니다.VisualTools에 AudioTrack을 연결하면 오디오가 변경됩니다.

비주얼 라이저가 setEnabled (false) 또는 release() 'd 일 때 오디오가 정상으로 돌아갑니다. 오디오 세션 ID를 "0"(출력 믹스)으로 설정해도이 문제가 발생하지 않지만이 솔루션은 내 응용 프로그램에 적합하지 않습니다.

오디오 출력을 수정하지 않고 AudioTrack을 Visualizer에 어떻게 연결할 수 있습니까?

여기에 부착 코드 :

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() 방법은 무효화() 뷰가 어떻게 그것을 다시 그리기. 가능한 수정이 없습니다.

가능한 Android 버그? 다른 시각화 앱에서이 동작을 발견했습니다.

답변

0

이 문제는 내 HTC 장치의 비트 오디오 때문에 발생합니다. 그것을 끄면, 그것은 일어나지 않습니다.