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