Как создать эквалайзер для Android
Я хочу создать простой эквалайзер для Android. Как я могу это сделать?
Попробуйте найти некоторые методы в классе MediaPlayer. Но все мои попытки потерпели неудачу.
Ответы
Ответ 1
Простой ответ... вы не можете сделать это с фреймворком или с Java (потому что в Android нет поддержки JMF). Вы должны использовать NDK и JNI для компиляции родной библиотеки с поддержкой эквалайзера. Если вы знаете C/С++, существует множество библиотек, которые будут предоставлять эту функциональность, но если вы не знаете C/С++ или имеете средства платить кому-то, что я бы рекомендовал вам перейти на что-то еще в ваших средствах.. Есть даже некоторые рабочие примеры для Android, если вы посмотрите вокруг, которые используют libmpg123... но libmpg123 предоставляет только интерфейс эквалайзера для mp3. Я обнаружил, что это довольно багги в целом и поставило под угрозу стабильность приложения таким образом, что он заблокировал Android, и мне пришлось бы вытащить аккумулятор для перезагрузки телефона. Кроме того, было много вырезания звука даже при выравнивании эквалайзера. Это мой опыт...
Ответ 2
Android имеет встроенный механизм выбора, хотя он не находится в классе MediaPlayer, потому что он сам находится в пакете android.media.audioFx.
http://developer.android.com/reference/android/media/audiofx/Equalizer.html
Ответ 3
Вы можете создать эквалайзер, например
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
Взгляните на полный пример
Ответ 4
Я надеюсь, что ниже ссылка вам полезна.
https://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/media/AudioFxDemo.html