Как я понимаю, Android будет воспроизводить аудио в формате AAC только в том случае, если он закодирован как MPEG-4 или 3GPP.
Я могу воспроизводить аудио AAC, закодированное как M4A, когда оно локально для приложения, но оно не получается при получении его с сервера.
Следующее работает, так как файл m4a находится локально в каталоге res/raw.
MediaPlayer mp = MediaPlayer.create(this, R.raw.*file*);
mp.start();
Не работает следующее. (Но делает с MP3).
Uri uri = Uri.parse("http://*example.com*/blah.m4a");
MediaPlayer mp = MediaPlayer.create(this, uri);
mp.start();
Может ли кто-нибудь пролить свет на то, почему он терпит неудачу, когда аудиофайл m4a не является локальным?
Здесь (некоторые) ошибки...
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)
...
Я нацелен на SDK 1.6.