如何恢复媒体播放器?

Pra*_*Raj 28 android media-player

我正在使用媒体播放器.

我可以选择启动,停止和暂停播放器.我遇到的问题是我找不到从之前暂停的那一点恢复歌曲的选项.

任何帮助提供将是非常有帮助的.

Pra*_*Raj 105

感谢您的关注,但我自己也知道了

暂停我使用的Mediaplayer:

Mediaplayer.pause();
length=Mediaplayer.getCurrentPosition();
Run Code Online (Sandbox Code Playgroud)

并且从最近停止的位置恢复玩家是通过以下方式完成的:

Mediaplayer.seekTo(length);
Mediaplayer.start();
Run Code Online (Sandbox Code Playgroud)

  • 我没有必要使用`MediaPlayer.seekTo(length)`; 我简单地调用MediaPlayer.start()并恢复,正如文档所述(见下面的答案). (6认同)

Mac*_*ski 27

我想你应该查看这里的文档:http://developer.android.com/reference/android/media/MediaPlayer.html

来自文档的一些引用:

可以暂停和停止播放,并可以调整当前播放位置.可以通过pause()暂停播放.当对pause()的调用返回时,MediaPlayer对象进入Paused状态.请注意,从START状态到Paused状态的转换(反之亦然)在播放器引擎中异步发生.在调用isPlaying()时更新状态可能需要一些时间,对于流内容,它可能需要几秒钟.

  • 调用start()以恢复暂停的MediaPlayer对象的播放,并且恢复的播放位置与暂停的位置相同.当对start()的调用返回时,暂停的MediaPlayer对象将返回到Started状态.
  • 调用pause()对已处于Paused状态的MediaPlayer对象没有影响.

各国解释说:

MediaPlayer的状态

并引用MediaPlayer的start()方法

public void start()

开始或恢复播放.如果先前已暂停播放,则播放将从暂停的位置继续播放.如果播放已停止或之前从未开始播放,则播放将从头开始播放.

因此,要直接回答您的问题,要从暂停的位置恢复暂停的MediaPlayer实例,请在该实例上再次使用start().


小智 15

在接受的答案中,正确的顺序是:

Mediaplayer.start();
Mediaplayer.seekTo(length);
Run Code Online (Sandbox Code Playgroud)