Как создать эквалайзер для Андроид
Я хочу создать простой эквалайзер для 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