我打算获取当前播放的已解码PCM数据 安卓手机中的歌曲。我们可以从应用层做到吗? 与此同时,如果你们中的任何一个人可以提出建 我是java中的音频解码器。
此致 阿尔宾
答案 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);
}
});