Android 如果mp.isplay()导致应用程序崩溃

Android 如果mp.isplay()导致应用程序崩溃,android,media-player,Android,Media Player,我用的是MediaPlayer。我使用的代码中的某个地方: if (mp != null) { System.out.println("This"); if (mp.isPlaying()) //1 System.out.println("That"); //2 } 当我运行它时,由于某种原因,应用程序停止工作。如果我删除//1和//2行,is将正常运行并打印“This”。但是为什么,我只想检查一下mp是否正在播放,就像你在Android上看到的那样 公共布尔值

我用的是MediaPlayer。我使用的代码中的某个地方:

if (mp != null) {
    System.out.println("This");
    if (mp.isPlaying()) //1
        System.out.println("That"); //2
}

当我运行它时,由于某种原因,应用程序停止工作。如果我删除//1和//2行,is将正常运行并打印“This”。但是为什么,我只想检查一下mp是否正在播放,就像你在Android上看到的那样

公共布尔值显示()

API级别1中添加的检查MediaPlayer是否正在播放

如果当前正在播放,则返回true,否则返回false抛出 IllegalStateException,如果内部播放器引擎尚未启动 已初始化或已释放

检查您是否正确初始化了MediaPlayer,并且在调用isplay()之前没有释放它


如果这对您有帮助,请将其标记为正确答案。

这是一个巨大的人,我刚刚分离了它导致崩溃的特定代码。您在哪里初始化mediaplayer?发布崩溃的家伙。。。堆栈跟踪。。。我在onCompletion(MediaPlayer mp)中初始化了它。它没有告诉我错误在哪里,logcat和eventlog都很清楚您不能在完成时初始化它。。。onCompletion意味着它已经初始化,并且它一直播放源文件到最后。。。