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

时间:2012-02-17 07:12:02

标签: android pcm decoder

我打算获取当前播放的已解码PCM数据 安卓手机中的歌曲。我们可以从应用层做到吗? 与此同时,如果你们中的任何一个人可以提出建 我是java中的音频解码器。

此致 阿尔宾

1 个答案:

答案 0 :(得分: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);
        }
    });