Unknown error on pause()
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 a开发者_如何学Gogain (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.
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.
精彩评论