我正在做一个音频播放器(安卓).问题是,当我启动我的应用程序〉播放歌曲〉按下返回键或主页的歌曲仍然播放的后台,但当我再次打开应用程序,它开始播放新歌的地方,老歌也在播放.如何摆脱这个?
mwyxok5s1#
在onDestroy中停止并释放media player,例如:
onDestroy
media player
@Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); if(mp!=null){ mp.stop(); mp.release(); mp = null; } }
kqqjbcuj2#
在播放新乐曲之前,按照stop()方法使用mediaplayer.reset();。在选择和播放新歌曲方法中添加以下几点:1.检查曲目是否正在播放:
stop()
mediaplayer.reset();
if(mp.isPlaying())
...其中mp是MediaPlayer对象。1.如果是,则停止播放,然后重置媒体播放器:
mp
MediaPlayer
mp.stop(); mp.reset();
mp.reset()将重置MediaPlayer的所有初始化,例如:歌曲URI等。如果不是,则仅重置媒体播放器:
mp.reset()
mp.reset();
1.现在从列表中获取新选择的音轨的位置和ID,并将其设置为新URI。1.基于新URI播放曲目:
mp = MediaPlayer.create(this, NewTrackUri); mp.start();
这应该只播放新选择的曲目。
wydwbb8l3#
问题是我不知道服务在后台运行。现在我正在使用一个服务电镀歌曲和更新活动用户界面从服务,当我的应用程序在后台播放歌曲,当我重新打开应用程序,并选择另一首歌曲,以前停止播放和新的歌曲开始播放感谢每一个机构的帮助
3条答案
按热度按时间mwyxok5s1#
在
onDestroy
中停止并释放media player
,例如:kqqjbcuj2#
在播放新乐曲之前,按照
stop()
方法使用mediaplayer.reset();
。在选择和播放新歌曲方法中添加以下几点:
1.检查曲目是否正在播放:
...其中
mp
是MediaPlayer
对象。1.如果是,则停止播放,然后重置媒体播放器:
mp.reset()
将重置MediaPlayer的所有初始化,例如:歌曲URI等。如果不是,则仅重置媒体播放器:
1.现在从列表中获取新选择的音轨的位置和ID,并将其设置为新URI。
1.基于新URI播放曲目:
这应该只播放新选择的曲目。
wydwbb8l3#
问题是我不知道服务在后台运行。现在我正在使用一个服务电镀歌曲和更新活动用户界面从服务,当我的应用程序在后台播放歌曲,当我重新打开应用程序,并选择另一首歌曲,以前停止播放和新的歌曲开始播放感谢每一个机构的帮助