簡體   English   中英

按下后退按鈕時如何停止播放音頻?

[英]How to stop audio from playing when back button is pressed?

大家好,這是我的代碼:

   final ImageView imageView = (ImageView) findViewById(R.id.Image7);
   imageView.setImageResource(mFullSizeIds[position]);
   imageView.setOnClickListener(new View.OnClickListener() {

@Override
         public void onClick(View v) {
    MediaPlayer mp = MediaPlayer.create(Audio.this,mAudio[position]);  
    mp.start();

}

  });

現在,當用戶點擊圖像時,此代碼可以很好地播放音頻,但是,當我想退出此活動並轉到其他活動時,即使我按下Home鍵,音頻仍在播放中。 如何防止這種情況發生? 當用戶再次輕按圖像或按下“后退/主頁”按鈕時,是否可以停止播放曲目?

   @Override
    public void onBackPressed ()
    {
      if (mp != null)
        mp.stop();
      super.onBackPressed();
    }

@Override
public void onPause ()
{
  if (mp != null)
  {
    mp.pause();
    mp.stop();
  }
  super.onPause();
}

在活動中創建一個onStop並將mp設為一個類變量,盡管我總是為此類內容創建/首選媒體播放器幫助程序類。 然后在onStop上調用mp.stop()/ pause。

private MediaPlayer mp = null;

@Override
public void onStop() {
    super.onStop();

    if (mp != null) {
        mp.stop();
    }
}

那么您只需在mp之前刪除MediaPlayer即可創建它:

mp = MediaPlayer.create(Audio.this,mAudio[position]);

重寫onBackPressed方法,並停止MediaPlayer對象mp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM