Как создать эквалайзер для Android
Вопрос
Я хочу создать простой эквалайзер для 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.
Я надеюсь, что ниже ссылки полезны для вас.