0

我有一个简单的代码来处理带有低通滤波器的浮点缓冲区。这是功能:

    public static float[] lowPass(float[] buffer, float frequnecy) {

    AudioFormat audioFormat = new AudioFormat(SAMPLE_RATE, 16, 1, true, false);
    AudioEvent audioEvent = new AudioEvent(audioFormat, 1024);
    audioEvent.setFloatBuffer(buffer);

    LowPassFS lowPassFilter = new LowPassFS(frequnecy, DSP.SAMPLE_RATE);
    lowPassFilter.process(audioEvent);

    return audioEvent.getFloatBuffer();
}

结果是缓冲区根本没有被处理并按原样返回。我在任何困难的地方都找不到相关的工作示例。

提前致谢

4

1 回答 1

0

尝试用 替换getFloatBuffer()getByteBuffer()可能是浮点缓冲区保存了输入值,但我已经成功地制作了一个低通滤波器(尽管在 300Hz 的截止频率以上它并不能很好地工作)并且getByteBuffer()肯定给出了过滤值。

于 2016-04-06T12:35:31.827 回答