Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android MediaPlayer暂停当前歌曲,播放另一首,然后返回并继续播放_Android - Fatal编程技术网

Android MediaPlayer暂停当前歌曲,播放另一首,然后返回并继续播放

Android MediaPlayer暂停当前歌曲,播放另一首,然后返回并继续播放,android,Android,我试图找出如何暂停已确定的歌曲,存储其内容,以便能够加载不同的歌曲,播放新歌曲,并从第一首歌曲恢复已保存的内容,然后继续播放 我唯一能做到的就是创建一个列表,这样每首新歌都有自己的MediaPlayer实例 有更好的方法吗 谢谢。我认为您不需要MediaPlayer对象的列表。用一个应该是可能的。然而,你必须注意它的状态 它可以像这样工作: 您可以在开始播放第一首歌曲时获取当前时间。一旦开始播放第二首歌曲,就可以再次获取当前时间,并以毫秒为单位计算差值。第二首歌曲完成后,使用OnCompleti

我试图找出如何暂停已确定的歌曲,存储其内容,以便能够加载不同的歌曲,播放新歌曲,并从第一首歌曲恢复已保存的内容,然后继续播放

我唯一能做到的就是创建一个列表,这样每首新歌都有自己的MediaPlayer实例

有更好的方法吗


谢谢。

我认为您不需要MediaPlayer对象的列表。用一个应该是可能的。然而,你必须注意它的状态

它可以像这样工作: 您可以在开始播放第一首歌曲时获取当前时间。一旦开始播放第二首歌曲,就可以再次获取当前时间,并以毫秒为单位计算差值。第二首歌曲完成后,使用OnCompletionListener,您可以再次加载第一首歌曲,并使用MediaPlayer的seektolog毫秒方法返回您停止的位置

显然,您必须管理媒体播放器的状态,但这不应该是一个问题。
您可以在这里查看一个好的文档和一个好的状态图:

但是如果我这样做,MediaPlayer将再次下载这首歌。这是一个在线流媒体。实际上,seekTo应该注意这一点。但是,可能存在与android相关的bug。如果问题仍未解决,您可以进行调查:还可以查看以下内容: