Wie ich es verstehe, wird Android nur Audio im AAC-Format abspielen, wenn es als MPEG-4 oder 3GPP codiert ist.Streaming von AAC-Audio mit Android
Ich kann AAC Audio als M4A codiert, wenn es lokal in der App ist, aber es schlägt fehl, wenn Sie es von einem Server erhalten.
Folgendes funktioniert, da die m4a-Datei lokal im res/row-Verzeichnis gespeichert ist.
MediaPlayer mp = MediaPlayer.create(this, R.raw.*file*);
mp.start();
Folgendes funktioniert nicht. (Aber tut mit MP3's).
Kann irgendjemand etwas Licht darüber werfen, warum es fehlschlägt, wenn die m4a Audiodatei nicht lokal ist?
Hier ist (einige) den Fehler ...
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)
...
Ich bin Targeting SDK 1.6.
Sie verwirren die Kodierung mit Dateiformaten. AAC ist ein Audiocodierungsformat. M4A ist ein Dateityp oder ein Paket, der die AAC-Daten umgibt. 3GPP ist ähnlich, kann aber auch andere Arten von codiertem Audio enthalten. Siehe http://developer.android.com/guide/appendix/media-formats.html und hier http://en.wikipedia.org/wiki/M4a. – greg7gkb
Stimmt, ich hätte 3GPP und M4A als "Container" für AAC-Audio beschreiben sollen. Aus der Spitze meines Kopfes denke ich * M4A kann nur für statische Dateien verwendet werden, und 3GPP kann nur mit RTSP statt HTTP streamen? Dies würde Probleme beim HTTP-Streaming verursachen. Korrigieren Sie mich, wenn ich falsch liege ... – bdls