나는 android.media.audiofx.Equalizer
이 주파수 대역을 획득/저감 할 수 있다는 것을 알고 있습니다. 내가해야 할 일은 주파수 범위를 완전히 필터링하는 것입니다. 주파수를 얻거나 낮추는 데 사용되는 코드는 다음과 같습니다.주파수 범위를 완전히 필터링하는 방법
Equalizer mEqualizer = new Equalizer(0,audioSessionId);
mEqualizer.setEnabled(true);
short bands = mEqualizer.getNumberOfBands();
final short minEQLevel = mEqualizer.getBandLevelRange()[0];
final short maxEQLevel = mEqualizer.getBandLevelRange()[1];
mEqualizer.setBandLevel((short) 0, (short) (maxEQLevel));
mEqualizer.setBandLevel((short) 1, (short) (maxEQLevel));
//the following code wont work because setting levels.lower than minimum level is not acceptable
mEqualizer.setBandLevel((short) 2, (short) (-1000000));
내가 요청한 것이 불가능할 경우, 무엇을 제안하겠습니까? 처음부터 FFT 클래스를 작성 하시겠습니까?
수학적으로 주어진 주파수 범위를 완전히 제거하는 것은 불가능합니다. 임의의 양으로 만 줄일 수 있습니다. –
x hz보다 큰 모든 주파수를 필터링하는 것이 불가능합니까? –
예, 동일한 인수가 적용됩니다. –