我正在使用 MediaPlayer 在我的应用程序中播放音乐。当我需要暂停和恢复时,我使用 mPlayer.isPlaying() 检查状态,但这有时会引发非法状态异常。
为什么会这样?在这些时候你应该怎么做?你将如何确定玩家的状态?
我正在使用 MediaPlayer 在我的应用程序中播放音乐。当我需要暂停和恢复时,我使用 mPlayer.isPlaying() 检查状态,但这有时会引发非法状态异常。
为什么会这样?在这些时候你应该怎么做?你将如何确定玩家的状态?
根据 Android 文档:
“如果内部播放器引擎尚未初始化或已释放,则出现 IllegalStateException。”
我想说首先确保你已经初始化和/或没有释放播放器。
MediaPlayer 可能很奇怪;即使逻辑已经有意义,也值得尝试使用不同的语句;如果您发布代码,我可以在这方面为您提供更多帮助。
现在,您可以只使用 try-catch 语句并在 catch 中添加一些内容以确保 MediaPlayer 正常工作。
Edit1:只是在黑暗中猜测,如果您为 MediaPLayer 使用静态全局变量,那可能就是问题所在。我会仔细检查它是如何被初始化和释放的,尤其是在类之间切换时。