"Единственный способ воспроизведения файла MP3 с помощью прямого API Android - это MediaPlayer, который имеет большой вес, медленный и представляет только высокоуровневый API. Если вам нужно смешивать или изменять аудиопотоки или управлять ими с малой задержкойвы сами по себе. "
(через: http://mindtherobot.com/blog/624/android-audio-play-an-mp3-file-on-an-audiotrack/)
Так что это прискорбно.JLayer бесплатен и написан на Java, поэтому вы можете использовать его:
http://www.javazoom.net/javalayer/javalayer.html
Будет ли он достаточно быстрым, зависит от того, какой анализ вы хотите сделать, и какойпроцессор в телефоне, какие другие приложения работают.Все обычные вещи.
Вы можете написать собственный код и использовать библиотеки C / C ++, если у вас есть что-то интенсивное использование процессора, что даст вам больше шансов на анализ в реальном времени:
http://developer.android.com/sdk/ndk/overview.html
Некоторые процессоры ARM имеют векторные инструкции и т. П., Которые вы могли бы использовать, если они доступны, что может повысить скорость:
http://www.arm.com/products/processors/technologies/neon.php
Если чтовы не можете работать в режиме реального времени, вы можете рассмотреть возможность полной или частичной предварительной обработки.Затем кэшируйте данные анализа, чтобы пользователю оставалось только ждать в первый раз ... или дайте им возможность позволить вашему приложению анализировать все файлы в одночасье или еще какое-то время.