Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to apply Bass effect programmatically in android

Tags:

android

bass

I am trying to apply the Bass Effects programmatically by using the following code:

BassBoost bassBoost = new BassBoost(0, audioSessionId);
bassBoost.setEnabled(true);
BassBoost.Settings bassBoostSettingTemp =  bassBoost.getProperties();
BassBoost.Settings bassBoostSetting = new BassBoost.Settings(bassBoostSettingTemp.toString());
bassBoostSetting.strength = MAX_STRENGTH_FOR_BASS; // 1000
bassBoost.setProperties(bassBoostSetting);

bassBoost.setStrength((short) progress); // progress value from seek bar

But the bass effects aren't applied on the current audio session.
Please help me by showing me what's wrong.

like image 229
Parveen Avatar asked Nov 10 '12 07:11

Parveen


1 Answers

Check whether it is supported or not.

bassBoost = new BassBoost(0, 0);
bassBoost.setEnabled(true);

if (bassBoost.getStrengthSupported())
{
    short word1 = bassBoost.getRoundedStrength();
    bassBoost.setStrength(word1);
}

And you can also check that whatever you're testing on supports it (it is device-dependent). You can use:

final Descriptor[] effects = AudioEffect.queryEffects();

// Determine available/supported effects 
for (final Descriptor effect : effects) {
    Log.d(TAG, effect.name.toString() + ", type: " + effect.type.toString());
}
like image 63
Zar E Ahmer Avatar answered Oct 31 '22 12:10

Zar E Ahmer