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