MediaPlayer.prepare()

a220315410 2011-05-06 07:07:13

......
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异常,求解释~
...全文
567 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
davidge333 2012-02-02
  • 打赏
  • 举报
回复
同问 有解决方法了吗
lizhengjun2010 2011-05-06
  • 打赏
  • 举报
回复
MediaPlayer 采用new 或者reset()创建时,处于空闲状态
只有当调用release()后MediaPlayer才关闭

所以再activity关闭时,在onDestory()中 要讲MediaPlayer 关闭,即调用media.release();
a220315410 2011-05-06
  • 打赏
  • 举报
回复
有关闭的。
 public void onStop()
{
mMediaPlayer.stop();
mMediaPlayer.release();
mMediaPlayer = null;
}

lizhengjun2010 2011-05-06
  • 打赏
  • 举报
回复
When a MediaPlayer object is just created using new or after reset() is called, it is in the Idle state; and after release() is called, it is in the End state. Between these two states is the life cycle of the MediaPlayer object.
一口三个汉堡 2011-05-06
  • 打赏
  • 举报
回复
mMediaPlayer并没有关闭。。。。。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧