......
mMediaPlayer = new MediaPlayer();
initialMediaPlayerData();
......private void initialMediaPlayerData() {
Log.e(TAG, "initialMediaPlayerData");
try {
Log.d(MYTAG,"mMediaPlayer prepare !");
mMediaPlayer.setDataSource(parentContext, mSelectedUri);
mMediaPlayer.setOnCompletionListener(listener);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.prepare();
}
catch (IOException e)
{
Log.e("MusicPicker", "Unable to play track", e);
}
} 以上的代码在我的一个APK中,现在发现一个奇怪的问题:
在AP第一次运行的时候,一切正常。
按back建关闭AP以后,再次启动AP的时候,运行到mMediaPlayer.prepare()函数的时候,发生IllegalStateException异常,求解释~
public void onStop()
{
mMediaPlayer.stop();
mMediaPlayer.release();
mMediaPlayer = null;
}
只有当调用release()后MediaPlayer才关闭所以再activity关闭时,在onDestory()中 要讲MediaPlayer 关闭,即调用media.release();