【问题标题】:Android equalizer not working with AudioTrackAndroid 均衡器不适用于 AudioTrack
【发布时间】: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);
}

我正在通过

获取音频会话 ID

at.getAudioSessionId()

其中 at 是已经初始化的 AudioTrack。正如我所说,AudioTrack 播放正常,但 eq 似乎没有任何效果。

编辑:我必须在调用 at.play() 之前还是之后设置波段级别?我是在 at.play() 之前做的,它似乎不起作用。

【问题讨论】:

    标签: java android


    【解决方案1】:

    我想通了!我没有打电话给eq.setEnabled(true)。 现在可以了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-04
      • 2016-02-10
      • 2013-01-16
      • 2019-01-02
      • 2016-05-16
      • 2017-12-03
      • 2020-04-23
      • 2019-12-14
      相关资源
      最近更新 更多