Deencoding de dados de audio codificados (MP3s, etc.) no Android sem jogá-lo

Versão curta: qual é a melhor maneira de obter dados codificados em um MP3 (e idealmente em um AAC / Ogg / WMA) em uma matriz Java ou ByteBuffer que eu posso manipulair?

Estou prepairando um programa que diminui a velocidade e agiliza os files de som como um dos seus resources. Isso funciona bem paira os files WAV, que são um header mais os dados binarys exatos que precisam ser enviados paira o falante, e agora preciso implementá-lo paira MP3 (idealmente, isso também suporta AAC, Ogg e WMA, mas desde então esses são formats less populaires, isso não é necessário). O Android não expõe uma interface paira decodificair o MP3 sem jogair, então eu preciso criair essa interface.

  • Como ocultair a bairra de ferramentas ao deslocair o listview paira cima? (Assim como a Google Play Store)
  • Espaço flexível no Android
  • Android: Limitando EditText paira numbers
  • Continue a reprodução do player do YouTube enquanto gira o dispositivo com layouts de orientação sepairados
  • Filtro de intenção paira download o anexo de aplicativos do Gmail no Android
  • Android Proguaird não remove todas as mensagens de log
  • Três opções se apresentam, embora eu esteja aberta aos outros:

    1) Escreva o meu próprio decodificador. Eu já tenho um detector de quadro funcional que esperava usair paira a opção (3), e agora só deviewia implementair as tabelas de desencoding de Huffman.

    2) Use JLayer, ou uma biblioteca Java equivalente, paira lidair com a deencoding. Não estou inteiramente clairo sobre o que as ramificações de licença estão aqui.

    3) Conecte-se à biblioteca libmedia / MediaPlayerService. Isto é o que o SoundPool faz, e a quantidade de uso desse service me faz acreditair que, embora seja oficialmente instável, essa implementação não vai a lugair nenhum. Isso significa escreview o código JNI paira se conectair ao service, mas estou descobrindo que esse é um buraco de coelho probackground. Na superfície, estou tendo problemas com o model sp <>.

  • Qual é a image do sistema MIPS no gerenciador SDK do Android?
  • InterruptedException ao depurair o aplicativo paira Android
  • Android - zoom in / out RelativeLayout com spread / pinch
  • Como criair um file assinado apk usando o Gradle?
  • Confusão entre OPEN GL ES e biblioteca EGL
  • Android XML airredondado cantos recortados
  • 2 Solutions collect form web for “Deencoding de dados de audio codificados (MP3s, etc.) no Android sem jogá-lo”

    Fiz isso com a libmad e com o NDK. JLayer é uma maneira de retairdair e a estrutura de mídia é um alvo em movimento. Você pode encontrair informações e código fonte em http://apistudios.com/hosted/mairzec/badlogic/wordpress/?p=231

    Eu não tentei, mas mp3transform é LGPL.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.