title: Streaming AAC audio with Android
body: <p>As I understand it, Android will only play AAC format audio if it's encoded as MPEG-4 or 3GPP.</p>
  
  <p>I'm able to play AAC audio encoded as M4A when it's local to the app, but it fails when obtaining it from a server.</p>
  
  <p>The following works, as the m4a file is held locally in the res/raw directory.</p>
  
  <pre><code>MediaPlayer mp = MediaPlayer.create(this, R.raw.*file*);
  mp.start();
  </code></pre>
  
  <p>The following doesn't work. (But does with MP3's).</p>
  
  <pre><code>Uri uri = Uri.parse("http://*example.com*/blah.m4a");
  MediaPlayer mp = MediaPlayer.create(this, uri);
  mp.start();
  </code></pre>
  
  <p>Can anyone shed any light on why it fails when the m4a audio file is not local?</p>
  
  <p>Here's (some of) the error...</p>
  
  <pre><code>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)   
  ...
  </code></pre>
  
  <p>I'm targeting SDK 1.6.</p>