SpenserCheng
帝都程序员
采纳率100%
2016-06-12 04:13 阅读 2.4k

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条回答 默认 最新

相关推荐