[英]Resume song in Android
我创建了一个媒体播放器。 我正确运行应用程序。 但是当我重新开始活动时,我想恢复我的歌曲。 当我重新开始活动时,为什么我的音频重启?
我怎样才能做到这一点? 我不明白。 谁能帮我??
这是我的代码。
public class Audio_Activity extends Activity {
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.audio);
init();
mp=MediaPlayer.create(Audio_Activity.this,R.raw.ennamo_yadho);
Log.e("Song is playing","in Mediya Player ");
if(mp!=null) {
length=mp.getCurrentPosition();
Log.e("Current ","Position -> " + length);
if(length > 0){
mp.seekTo(length);
mp.start();
btnChapter.setEnabled(false);
}
}
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.stop();
mp.release();
btnChapter.setEnabled(true);
System.out.println("Music is over and Button is enable !!!!!!");
}
});
}
}
为了防止这种情况,您应该在活动进入后台时使用服务播放声音。 请参阅有关活动生命周期的android文档,了解实际情况: https : //developer.android.com/training/basics/activity-lifecycle/index.html
你能试一下吗:
mp.start();
mp.seekTo(length);
参考MediaPlayer的文档 :
public void start()
开始或恢复播放。 如果先前已暂停播放,则播放将从暂停的位置继续播放。 如果播放已停止或之前从未开始播放,则播放将从头开始播放。
将mp.getCurrentPosition保存为某种持久性,例如在onPause中为sharedprefs,在mediaplayer上调用pause()。
在onResume中,执行mp.start(),mp.seekTo(savedPosition)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.