获取Android手机中当前正在播放的歌曲的PCM数据

问题描述:

我打算在Android手机中获取正在播放的歌曲 的解码PCM数据。我们可以从应用程序层做到吗? 同时,如果你们中的任何一个都可以建议我在java中使用一个音频解码器,那么这将非常有帮助。获取Android手机中当前正在播放的歌曲的PCM数据

问候 阿尔宾

试试这个。它将帮助您获取当前正在播放的歌曲的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); 
     } 
    });