Вопрос

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

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

Это было полезно?

Решение

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

Другие советы

Android имеет встроенный двигатель клавиши, хотя он не находится в классе MediaPlayer, потому что это сам класс, расположенный в пакете android.media.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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top