Как применить эффект баса программно в Android
Я пытаюсь применить Bass Effects программно, используя следующий код:
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
Но басовые эффекты не применяются в текущем аудио сеансе.
Пожалуйста, помогите мне, показав мне, что не так.
1 ответ
Проверьте, поддерживается ли это или нет.
bassBoost = new BassBoost(0, 0);
bassBoost.setEnabled(true);
if (bassBoost.getStrengthSupported())
{
short word1 = bassBoost.getRoundedStrength();
bassBoost.setStrength(word1);
}
И вы также можете проверить, что все, что вы тестируете, поддерживает это (это зависит от устройства). Ты можешь использовать:
final Descriptor[] effects = AudioEffect.queryEffects();
// Determine available/supported effects
for (final Descriptor effect : effects) {
Log.d(TAG, effect.name.toString() + ", type: " + effect.type.toString());
}