Получить данные PCM песен, которые в настоящее время играют в телефоне Android - PullRequest
1 голос
/ 17 февраля 2012

Я планирую получить декодированные данные PCM текущей воспроизводимой песни в телефоне Android.Можем ли мы сделать это на уровне приложений?Между тем было бы очень полезно, если бы кто-нибудь из вас мог предложить мне аудиодекодер в java.

С уважением, Альбин

1 Ответ

2 голосов
/ 13 сентября 2012

Попробуйте это.Это поможет вам получить данные 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);
        }
    });
...