Skip to content
This repository has been archived by the owner on Jan 26, 2023. It is now read-only.

rohansohonee/equalizer

Repository files navigation

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.

Example

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 in openEqualizer 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.