equalizer
A Flutter plugin to open the device equalizer. You can also create a custom equalizer for Android.
Currently, supported on Android only. Need help for iOS contributions.

Android Setup
Edit your project's AndroidManifest.xml
file to declare the permission to modify audio settings when creating a custom equalizer.
<manifest>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<application...>
...
</application...>
</manifest>
Example
// Import package
import 'package:equalizer/equalizer.dart';
// Open device equalizer
Equalizer.open(audioSessionId);
// Set or remove audioSessionId.
Equalizer.setAudioSessionId(audioSessionId);
Equalizer.removeAudioSessionId(audioSessionId);
You can retrieve
audioSessionId
on android from MediaPlayer. Info on how to do this can be found inopenEqualizer
docs.
Custom Equalizer Example
Initialize the equalizer. Recommended to perform inside initState
Equalizer.init(audioSessionId);
Enable the equalizer as follows.
Equalizer.setEnabled(true);
Now you can query the methods.
await Equalizer.getBandLevelRange(); // provides band level range in dB.
await Equalizer.getBandLevel(bandId);
Equalizer.setBandLevel(bandId,bandLevel);
await Equalizer.getCenterBandFreqs(); // provides the center freqs in milliHertz.
await Equalizer.getPresetNames(); // returns presets that are available on device
Equalizer.setPreset(presetName);
Finally, remember to release resources. Recommended to perform inside dispose
Equalizer.release();
TODO
- Add iOS support.