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