Как изменить частоту эквалайзера?

Можно ли изменить частоту полос эквалайзера или можно использовать только 60Гц 230Гц 910Гц 3600Гц 14000Гц?


person Sarah Sales    schedule 29.10.2019    source источник
comment
Да, кажется возможным определить собственную частоту полосы с помощью android.media.audiofx.Equalizer.setBandLevel().   -  person matdev    schedule 29.10.2019
comment
Возможный дубликат ограничения звукового эффекта Android до 5 полос   -  person Ricardo A.    schedule 29.10.2019


Ответы (1)


Я полагаю, вы говорите об android.media.audiofx.Equalizer.

Различные устройства Android имеют разное количество частотных диапазонов, и вы можете свободно устанавливать его между поддерживаемыми, как docs говорит:

setBandLevel(короткий диапазон , короткий уровень)

Устанавливает данную полосу эквалайзера на заданное значение усиления.

Параметры

band - short: полоса частот, которая будет иметь новое усиление. Нумерация полос начинается с 0 и заканчивается на (количество полос - 1).

уровень - короткий: новое усиление в миллибелах, которое будет установлено для данного диапазона. getBandLevelRange() определит максимальное и минимальное значения.

Этот ответ от WoodyDev дает нам пример кода для получения поддерживаемого диапазона для устройства:

// New instance of equalizer (add it as a member of your class rather than a scoped instance like this)
Equalizer mEqualizer = new Equalizer(0, mMediaPlayer.getAudioSessionId());

// Get the number of bands available on your device
short bands = mEqualizer.getNumberOfBands();

// Get the gain level available for the bands
final short minEQLevel = mEqualizer.getBandLevelRange()[0];
final short maxEQLevel = mEqualizer.getBandLevelRange()[1];

Вы можете найти больше мнений и помощи здесь: Число полос в Android Equalizer< /а>

person Ricardo A.    schedule 29.10.2019