Streaming audio en format AAC avec Android

Comme je le comprends, Android ne lisent format AAC audio si il est encodé en MPEG-4 et 3GPP.

Je suis capable de jouer des fichiers audio AAC encodé comme M4A quand c'est local à l'application, mais il échoue lors de l'obtention à partir d'un serveur.

Les œuvres suivantes, comme le fichier m4a est organisé localement dans le res/raw répertoire.

MediaPlayer mp = MediaPlayer.create(this, R.raw.*file*);
mp.start();

Le suivant ne fonctionne pas. (Mais ne avec MP3).

Uri uri = Uri.parse("http://*example.com*/blah.m4a");
MediaPlayer mp = MediaPlayer.create(this, uri);
mp.start();

Quelqu'un peut nous donner un indice sur les raisons de l'échec lorsque le m4a fichier audio n'est pas local?

Voici (une partie de) l'erreur...

ERROR/PlayerDriver(542): Command PLAYER_INIT completed with an error or info UNKNOWN PVMFStatus
ERROR/MediaPlayer(769): error (200, -32)  
WARN/PlayerDriver(542): PVMFInfoErrorHandlingComplete  
DEBUG/MediaPlayer(769): create failed:  
DEBUG/MediaPlayer(769): java.io.IOException: Prepare failed.: status=0xC8  
DEBUG/MediaPlayer(769):     at android.media.MediaPlayer.prepare(Native Method)  
DEBUG/MediaPlayer(769):     at android.media.MediaPlayer.create(MediaPlayer.java:530)  
DEBUG/MediaPlayer(769):     at android.media.MediaPlayer.create(MediaPlayer.java:507)   
...

Je suis ciblage du SDK 1.6.

  • Vous êtes à la confusion de l'encodage avec les formats de fichier. AAC est un format de codage audio. M4A est un type de fichier, ou un paquet, qui se trouve autour de l'AAC. 3GPP est similaire, mais peut contenir d'autres types de données audio codées. Voir ici developer.android.com/guide/appendix/media-formats.html et voilà en.wikipedia.org/wiki/M4a.
  • Vrai, je devrais avoir décrit le 3GPP et M4A comme des "contenants" pour l'audio AAC. Sur le dessus de ma tête, je pense que M4A peut seulement être utilisé pour les fichiers statiques, et 3GPP pouvez seulement de flux à l'aide de RTSP, plutôt que de HTTP? Cela pourrait entraîner des problèmes pour le streaming HTTP. Corrigez-moi si je me trompe...
InformationsquelleAutor bdls | 2009-10-30