我有一个简单的代码来处理一个带有低通滤波器的浮点缓冲区。下面是函数:
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();
}结果是缓冲区根本不被处理,并按原样返回。我在任何地方都找不到相关的工作示例。
提前感谢
发布于 2016-04-06 20:35:32
尝试用getByteBuffer()替换getFloatBuffer(),这可能是浮点缓冲区保存输入值,但我已经成功地制作了一个低通滤波器(虽然它在300 of的截止频率上不能很好地工作),并且getByteBuffer()肯定给出了过滤值。
https://stackoverflow.com/questions/33190190
复制相似问题