views:

218

answers:

1

Hi,

I get the following error

12-15 16:54:37.125: ERROR/MediaPlayer(6032): error (-2147483648, 0)

when trying to execute this code in a service:

MediaPlayer mp = null;

@Override
public void onCreate() {
 if (mp == null) {
  mp = new MediaPlayer();
 }
}

@Override
public void onStart(Intent intent, int startId) {
 if (!mp.isPlaying()) {
  Log.d(DEBUG_TAG, "Not playing, starting stream...");
  try {
   mp.setDataSource(getString(R.string.address_p3));
   mp.prepare(); 
  } catch (IOException e) {}

  mp.start();
 } else { 
  Log.d(DEBUG_TAG, "Playing, pausing stream...");
  try { mp.pause(); } 
  catch (Exception e) {} 
 }
}

When the service is first called and no MediaPlayer-object exists, the stream is started correctly. But when the onStart()-method is called again (with the player streaming) I get the above error code. I can't find any information about this error code, so I turn to you for help. Replacing mp.pause() with mp.stop() makes it work. Could it be that the stream does not support pausing? It's an online radio stream (RTSP) in the SDP format.

Thanks,

Linus

+2  A: 

I have read this tutorial about the bloggers custom StreamingMediaPlayer class for Android, in the tutorial he talks about how he accomplishes pausing a stream.

This could be helpful for you, if it doesn't solve what you need at least it gives you another perspective on how to achieve such a task.

Anthony Forloney
I'll check it out!
aspartame