Android Visualizer 不能捕捉FFT数据(Nexus 5 Android 6.0.1)

我正在使用android.media.audiofx.Visualizer捕捉Android设备从扬声器播放的声音的FFT数据,下面是我的代码:

mVisualizer = new Visualizer(0);
mVisualizer.setCaptureSize(Visualizer.getCaptureSizeRange()[1]);
mCaptureRate = Visualizer.getMaxCaptureRate();

mVisualizer.setDataCaptureListener(new Visualizer.OnDataCaptureListener() {

    public void onWaveFormDataCapture(Visualizer visualizer, byte[] bytes, int samplingRate) {}

    public void onFftDataCapture(Visualizer visualizer, byte[] bytes, int samplingRate) {
        // 捕获FFT数据
    }

}, mCaptureRate, false, true);

大部分情况下,这段代码是好用的。我能够读取到大部分视频和音频播放器播放出来的声音的FFT数据。

但是,使用Nexus 5 Android 6.0.1时,代码出现了问题,只能捕捉部分播放器播放出来的声音了,比如“网易云音乐”,其他播放器播放出来的声音都捕捉不到!

有人遇到过这样的问题吗?是什么原因造成的?如何解决?

2个回答

WSW中文分词解决方案 http://www.fly-software.com:84/

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!