[英]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.