Как создать эквалайзер для Андроид

Я хочу создать простой эквалайзер для Android. Как я могу это сделать?

попробуйте найти некоторые методы в классе MediaPlayer. Но все мои попытки провалились.

4 ответов


простой ответ... вы не можете сделать это с помощью фреймворка или Java (потому что в Android нет поддержки JMF). Вы должны использовать NDK и JNI для компиляции собственной библиотеки с поддержкой эквалайзера. Если вы знаете C/C++, есть много библиотек, которые обеспечат эту функциональность, но если вы не знаете C / C++ или имеете средства заплатить кому-то, кто это делает, я бы рекомендовал вам перейти к чему-то еще в пределах ваших средств... Есть даже некоторые рабочие примеры для Android, Если вы посмотрите вокруг, которые используют libmpg123... но libmpg123 предоставляет только интерфейс эквалайзера для mp3. Я обнаружил, что это довольно багги в целом и скомпрометировал стабильность приложения таким образом, что он будет блокировать android, и мне придется вытащить батарею, чтобы перезагрузить телефон. Кроме того, было много обрезки звука даже с эквалайзером flatlined. Это мой опыт...


Android имеет встроенный движок qualizer, хотя он не находится в классе MediaPlayer, потому что это сам класс, расположенный в android.сми.пакет audioFx.

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


вы можете создать эквалайзер как

Equalizer equalizer = new Equalizer(0,mediaplayer.getAudioSessionId());

equalizer.setEnabled(true);

equalizer.getNumberOfBands(); //it tells you the number of equalizer in device.

equalizer.getNumberOfPresets();//like Normal Classic,Dance Flat,Folk Heavy Metal,Hip Hop,Jazz, Pop, Rock

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

посмотрите на полный пример


Я надеюсь, что ниже ссылка полезна для вас.

https://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/media/AudioFxDemo.html