2012-02-17 118 views

回答

2

试试这个。它将帮助您获取当前正在播放的歌曲的PCM数据:

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

    Visualizer.OnDataCaptureListener captureListener = new Visualizer.OnDataCaptureListener() 
    { 
     @Override 
     public void onWaveFormDataCapture(Visualizer visualizer, byte[] bytes, 
       int samplingRate) 
     { 
      //PCM DATA 
     } 

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

     } 
    }; 

    mVisualizer.setDataCaptureListener(captureListener, 
      Visualizer.getMaxCaptureRate()/2, true, false); 

    // Enabled Visualizer and disable when we're done with the stream 
    mVisualizer.setEnabled(true); 
    mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() 
    { 
     @Override 
     public void onCompletion(MediaPlayer mediaPlayer) 
     { 
      mVisualizer.setEnabled(false); 
     } 
    }); 
相关问题