媒体播放器不会退出
在我的onCreate方法我检查,看看媒体播放器是否正在播放,如果是关闭它媒体播放器不会退出
if(mediaplayer.isPlaying()==false)
try {
playAudio(path);
} catch (Exception e) {
e.printStackTrace();
}else{
mediaplayer.stop();
mediaplayer.reset();
}
primarySeekBarProgressUpdater();
}
我玩音频的方法是
private void playAudio(String url) throws Exception{
mediaplayer.setDataSource(url);
mediaplayer.prepare();
mediaplayer.start();
}
我也在onCreate方法之前初始化我的媒体播放器。问题是我的媒体播放器不会关闭,而是当用户点击列表视图课程中的新歌曲时,它会创建此类,并在旧的播放器同时播放这两个媒体播放器。
好了,所以我假设你有一个ListActivity
以饱满的歌曲,用户点击任何这些,它会移动到一个新Activity
播放的歌曲,其中歌曲信息通过Intent
通过。
首先,你需要阅读并记住Activity Lifecycle
:http://developer.android.com/reference/android/app/Activity.html
其次,你的问题,根据生命周期,每次用户点击一首歌就行了,然后它会创建一个新的Activity
到播放歌曲,这意味着它会创建一个新的MediaPlayer
对象。因此,您可以看到许多歌曲与您从列表中选择歌曲一样多。 您需要做的是在关闭音乐播放屏幕以返回歌曲列表时处理MediaPlayer
对象。
MediaPlayer mPlayer = null;;
public void onCreate() {
// init mediaplayer here
mPlayer = ...
}
public void onDestroy() {
// release object
if(mPlayer != null) {
mPlayer.stop();
mPlayer.release();
mPlayer = null;
}
}
但我想媒体播放器继续播放,直到用户选择一首新歌曲....这将停止当用户尝试选一首新歌。我怎么能保持它播放,而用户寻找一首新歌 –
然后使用'服务',它处理多个'活动'的行动 –
你能解释我会给你代表和检查回答..我只是有点困惑关于如何使用服务 –
解释你的屏幕过渡?从哪个活动到哪个活动?每个活动的布局。 –
我有一个列表视图充满了歌曲,然后它与媒体播放器的相对布局 –