【问题标题】:Media player isPlaying throws illegal state android媒体播放器isPlaying抛出非法状态android
【发布时间】:2012-08-31 03:56:46
【问题描述】:

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

为什么会这样?在这些时候你应该怎么做?你将如何确定玩家的状态?

【问题讨论】:

  • 请显示代码 :) 还有日志。谢谢!

标签: android try-catch state android-mediaplayer illegalstateexception


【解决方案1】:

根据 Android 文档:

“如果内部播放器引擎尚未初始化或已释放,则出现 IllegalStateException。”

我会说首先确保您已初始化和/或尚未释放播放器。

MediaPlayer 可能很奇怪;即使逻辑已经有意义,也值得尝试使用不同的语句;如果您发布代码,我可以在这方面为您提供更多帮助。

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

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

【讨论】:

  • 是的,我使用的是静态 MediaPlayer 对象。我会再次检查发生了什么然后回来。谢谢!
  • 在 setDataSource 调用中使用文件路径之前,如何检查文件路径是否为有效文件路径?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-05
  • 2017-01-27
相关资源
最近更新 更多