equalizer.getNumberOfPresets() возвращает 0 на определенных устройствах

Я пытаюсь реализовать пресеты на эквалайзере Android, для этого я использую getNumberOfPresets():

 mEqualizer = new Equalizer(0, mMediaPlayer.getAudioSessionId());
 mEqualizer.setEnabled(true);

 short presetNumber = mEqualizer.getNumberOfPresets();

На моем Nexus 4 (4.2.2) я получаю presetNumber=10, но при использовании другого устройства под управлением Android 4.0.4 я получаю presetNumber=0. С этим последним значением я не могу использовать:

mEqualizer.usePreset(short);

Как я могу заставить эквалайзер использовать пресеты?

Спасибо

1 ответ

Все звуковые эффекты зависят от аппаратного обеспечения и не гарантируются на всех устройствах.

Из-за этого вы всегда должны проверять, поддерживает ли устройство AudioEffect,

Вы можете запросить доступные эффекты, используя AudioEffect.queryEffects();

http://developer.android.com/reference/android/media/audiofx/AudioEffect.html

Другие вопросы по тегам