跟上一篇一样,完全参考自google源码,如果可以自己去看是最好的

否则你就要看我的个人理解了


EQ应该就是频率均衡器,适当的调整和控制可以设置重低音,古典,摇滚之类的感觉

主要的类就是android.media.audiofx.Equalizer;
           

//首先初始化这个类,需要两个参数,第一个是优先级,默认是0.所谓优先级就是说当有多个应用同时去控制EQ的时候,就靠优先级来判断了。第二个参数是音乐的sessionId.
            mEqualizer = new Equalizer(0, mMediaPlayer.getAudioSessionId());
            mEqualizer.setEnabled(true);

//可以得到当前Equalizer 引擎所支持的控制频率的标签数目。

          

//可以得到的最小频率(我这是-15dB)
            short minEQLevel = mEqualizer.getBandLevelRange()[0];
//可以得到的最大频率(我这是15dB)

          


        for (short i = 0; i < bands; i++) {
           

//通过标签可以顺次的获得所有你所支持的频率的名字比如 60Hz 230Hz

          

          

//接下来就是最重要的方法 设置频率的值了,需要提供标签号,和设置的大小data。这个data要记住其最小值是上面得到的minEQLevel,最大值是maxEQLevel.

          

      


以上就可以搞定了。

如果你不知道 自己手上那些频率都代表什么效果 我就顺手转载网上的知识吧


均衡器分段后的每个部分的作用:
    1. 20Hz--60Hz部分

    这一段提升能给音乐强有力的感觉,给人很响的感觉,如雷声。是音乐中强劲有力的感觉。如果提升过高,则又会混浊不清,造成清晰度不佳,特别是低频响应差和低频过重的音响设备。

    2. 60Hz--250Hz部分

    这段是音乐的低频结构,它们包含了节奏部分的基础音,包括基音、节奏音的主音。它和高中音的比例构成了音色结构的平衡特性。提升这一段可使声音丰满,过度提升会发出隆隆声。衰减这两段会使声音单薄。

    3. 250Hz--2KHz部分

    这段包含了大多数乐器的低频谐波,如果提升过多会使声音像电话里的声音。如把600Hz和1kHz过度提升会使声音像喇叭的声音。如把3kHz提升过多会掩蔽说话的识别音,即口齿不清,并使唇音“mbv”难以分辨。如把1kHz和3kHz过分提升会使声音具有金属感。由于人耳对这一频段比较敏感,通常不调节这一段,过分提升这一段会使听觉疲劳。

    4. 2KHz--4kHz部分

    这段频率属中频,如果提升得过高会掩盖说话的识别音,尤其是3kHz提升过高,会引起听觉疲劳。

    5. 4kHz--5KHz部分

    这是具有临场感的频段,它影响语言和乐器等声音的清晰度。提升这一频段,使人感觉声源与听者的距离显得稍近了一些;衰减5kHz,就会使声音的距离感变远;如果在5kHz左右提出升6dB,则会使整个混合声音的声功率提升3dB。

    6. 6kHz--16kHz部分