1

我正在使用MediaPlayer在我的应用中播放音乐。当我需要暂停和恢复时,我使用mPlayer.isPlaying()检查状态,但是这有时会引发非法状态异常。媒体播放器isPlaying抛出非法状态android

为什么会发生这种情况?你应该在这些时间做什么?你如何确定玩家的状态?

+3

请显示编码:) 也Logs。谢谢! – 2012-08-31 03:58:53

回答

5

根据Android的文档:

“ IllegalStateException异常如果内部播放引擎尚未初始化或已被释放”

我会先说确保你已经初始化和/或没有释放玩家。

虽然MediaPlayer可能很奇怪,即使逻辑已经有意义,也应该使用不同的语句来演奏;如果您发布了代码,我可以在这方面为您提供更多帮助。

现在,您可以使用try-catch语句并在catch中添加一些内容以确保MediaPlayer正常工作。

编辑1:只要在黑暗中猜测,如果您为MediaPLayer使用静态全局变量,那可能是问题所在。我会仔细检查它是如何被初始化和释放的,特别是在类和类之间切换时。

+0

是的,我正在使用静态MediaPlayer对象。我会再次检查发生了什么,然后回来。谢谢! – Namratha

+0

如何在setDataSource调用中使用它之前检查文件路径是否是有效的文件路径? – Namratha