【发布时间】:2020-08-24 17:24:14
【问题描述】:
我正在使用 android equalizer API 创建一个高通滤波器。但即使我将每个波段都设置为 -1500,它似乎也不起作用。音频播放良好,但没有 eq 效果。这是我的代码。
private void attachEq(int audioSessionId) {
Equalizer eq = new Equalizer(100,audioSessionId);
short[] freqRange = eq.getBandLevelRange();
short minLvl = freqRange[0];
short maxLvl = freqRange[1];
eq.setBandLevel((short) 4,minLvl);
eq.setBandLevel((short) 3,minLvl);
eq.setBandLevel((short) 2,minLvl);
eq.setBandLevel((short) 1,minLvl);
eq.setBandLevel((short) 0,minLvl);
}
我正在通过
获取音频会话 IDat.getAudioSessionId()
其中 at 是已经初始化的 AudioTrack。正如我所说,AudioTrack 播放正常,但 eq 似乎没有任何效果。
编辑:我必须在调用 at.play() 之前还是之后设置波段级别?我是在 at.play() 之前做的,它似乎不起作用。
【问题讨论】: