【问题标题】:How can I save media player state?如何保存媒体播放器状态?
【发布时间】:2023-03-12 22:58:02
【问题描述】:

我正在开发音乐播放器,播放、停止和暂停按钮一切正常。 我的问题是,每当一首歌曲正在播放时,我按下后退按钮并重新打开应用程序时,这些按钮将不适用于当前歌曲。

当我改变方向时也会发生这种情况。有没有办法保存媒体播放器的状态,然后获取状态,以便我可以停止正在播放的歌曲?

【问题讨论】:

  • 您可以保存歌曲停止的位置,使用首选项或 Bundle 保存状态并从停止位置再次重新启动媒体播放器,请查看此线程stackoverflow.com/questions/17917994/…
  • 感谢定位部分,但现在我的问题是如何解决应用程序退出时的问题,因为每当我重新打开应用程序时,停止按钮都不适用于当前歌曲。谢谢你们的帮助...
  • 当您从应用程序中使用共享首选项保存状态时
  • 好的,非常感谢,我会继续努力的。

标签: android android-mediaplayer


【解决方案1】:

好吧,你可以使用

.getCurrentPosition() 

要知道你的歌曲有多少毫秒,然后使用

.seekTo(int milliseconds)

在恢复或方向改变时,到达同一地点。

【讨论】:

    【解决方案2】:

    您可以使用 SeekTo 方法。 Seek To

    然后添加:

    protected void onSaveInstanceState(Bundle out) {
        super.onSaveInstanceState(out);
        out.putInt(PLAY_TIME, mMediaPlayer.getCurrentPosition());
    }
    

    稍后在 OnCreate 中,您只需要检查以下内容:

    if(savedInstanceState != null && savedInstanceState.containsKey(PLAY_TIME)) {
            mMediaPlayer.seekTo(savedInstanceState.getInt(PLAY_TIME, 0));
        }
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      • 2016-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多