据我了解,Android 只会播放 AAC 格式的音频,如果它被编码为 MPEG-4 或 3GPP。
当它在应用程序本地时,我能够播放编码为 M4A 的 AAC 音频,但从服务器获取它时失败。
以下工作,因为 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。