【发布时间】:2016-07-02 08:37:40
【问题描述】:
这是我的代码
if (player != null) {
if(player.isPlaying()){
player.pause();
player.stop();
}
player.release();
}
这是错误
FATAL EXCEPTION: main
java.lang.IllegalStateException
at android.media.MediaPlayer.isPlaying(Native Method)
at com.mindefy.sindhipathshala.RecViewAdapter.mediafileRelease(RecViewAdapter.java:234)
at com.mindefy.sindhipathshala.SectionFruits.onBackPressed(SectionFruits.java:252)
我是 Android 的初学者,我对 MediaPlayer 的生命周期感到非常困惑。
这是适配器中的一个函数,它从另一个 Activity 的 onBackPressed() 函数调用。 player 是一个类变量。
我在同一个文件中发布这个MediaPlayer
public void onClick(View v) {
try {
if (player != null) {
player.stop();
player.release();
}
} catch (Exception e) {
}
player = MediaPlayer.create(activityContext, soundId);
player.start();
}
【问题讨论】:
-
播放器好像最近发布了。方法 isPlaying() 仅在调用 start() 后返回 true。在调用抛出 IllegalStateException 的 player.isPlaying() 之前,检查您是否在代码中调用了 .reset() 或 .release()。
标签: java android android-mediaplayer