2015-01-07 51 views
3

我正在開發一個音樂應用程序,它從互聯網上檢索音樂文件。銷燬恢復活動時的最後一次執行

我有兩個活動

  1. MainActivity
  2. PlayerActivity

當有人點擊一個元素在MainActivity加載了第二PlayerActivity和一首歌曲開始播放

第一次它工作得很好。當有人點擊返回按鈕並點擊另一個元素時,此時歌曲開始播放而不停止當前播放歌曲,問題來了,

這裏是我的代碼,我已經嘗試過。

MainActivity

  Intent intent = new Intent(v.getContext(), PlayerActivity.class); 
      EditText albumID = (EditText) findViewById(R.id.albumID); 
      String message = albumID.getText().toString(); 
      intent.putExtra(ALBUMID, message); 
      startActivity(intent); 

PlayerActivity

try { 

     if(player.isPlaying()) { 
      player.release(); 
     } 

     player.reset(); 
     player.setDataSource(urls.get(position)); 
     player.prepare(); 
     player.start(); 
     seekbar.setMax(player.getDuration()); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

注: 如果需要,我可以發佈完整的代碼。

+0

所以,你要停止正在播放的歌曲的播放? 而且你在哪裏放置了PlayerActivity的代碼(在哪個函數中)? – migue02

+0

該代碼位於'onListItemClick'列表項單擊監聽器中。並且MediaPlayer實例也是在類中創建的,而不是在任何方法/函數中。 – Sharjeel

回答

0

我想這是因爲你持有不同的玩家實例,這就是爲什麼當你停下來「停止」一個不同於你想要的玩家的玩家。玩家沒有附加到活動,並且在活動被破壞時不會被破壞...

您應該只有一個玩家實例。也許使用單身或者靜態的。 當活動停止時,您可以停止播放器嗎?像它在毀滅?

如果目前還不清楚,你可以試着上傳更多的代碼,所以我們可以看到更多..

相關問題