2013-05-22 69 views
1

我開始媒體播放器這樣的:我怎樣才能阻止媒體播放器中的另一個活動?

if (mp != null) { 
     mp.stop(); 
     mp.reset(); 
     mp.release(); 
    } 
    mp = MediaPlayer.create(this, R.raw.background); 
    mp.start(); 

我怎樣才能阻止另一個動作?它繼續在另一項活動中發揮作用。我如何在其他活動中使用onDestroy

+3

在您當前的活動onPause使用mp.stop()。當您導航到次活動的第一個活動被暫停 – Raghunandan

+1

調用內部的onPause如果你玩 – Blackbelt

+0

停止孔德跨多個活動,使用服務。 – njzk2

回答

0

在第一次活動覆蓋的onPause

@Override 
protected void onPause() { 
    // TODO Auto-generated method stub 
    super.onPause(); 
      mp.stop(); 
} 
0

你不能說停止活動,但是從活動本身

實現這一目標,你可以在服務發送的媒體播放器,並綁定到服務你要訪問它

2

使用單獨的類象下面這樣在你的項目活動。

import android.content.Context; 
import android.media.AudioManager; 
import android.media.MediaPlayer; 
import android.media.SoundPool; 

public class AudioPlay { 

    public static MediaPlayer mediaPlayer; 
     private static SoundPool soundPool; 
    public static boolean isplayingAudio=false; 
    public static void playAudio(Context c,int id){ 
     mediaPlayer = MediaPlayer.create(c,id); 
     soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 100); 
     if(!mediaPlayer.isPlaying())   
     { 
     isplayingAudio=true; 
     mediaPlayer.start();    
     }   
    } 
    public static void stopAudio(){  
     isplayingAudio=false;  
     mediaPlayer.stop(); 
    } 
} 

播放歌曲

`AudioPlay.playAudio(mContext, R.raw.audiofile);` // play it from your preferred activity. and you can change raw file to your path also its depends upon your requirement. 

然後 使用任何活動這一行AudioPlay.stopAudio();停止音頻。 希望這有助於。

+0

偉大的代碼!謝謝 –

+0

非常感謝,工作很好 –

0

正如你在第一個活動啓動媒體播放器,並想阻止另一個動作,只是用吹氣佈局自我,而不是創建另一個活動調用你的第二個佈局在第一個活動..並在第二個佈局文件只停留在媒體播放器通過按下按鈕

public class FirstAvtivity extends Activity 
    { 
    MediaPlayer mPlayer; 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.first_activity_layoutfile); 
    Button b=(Button)findViewById(R.id.button1); 

    //start the media player like how you were starting in your activity 
// then after clicking button you will be navigated to new layout , there 
// you can stop media player 

     mPlayer.start(); 
     b.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 


      updateLayout(); 


     } 
    }); 

    } 
    private void newUpdateLayout() { 
    LayoutInflater inflater = LayoutInflater.from(this); 
    setContentView(inflater.inflate(R.layout.second_disapr_scr, null)); 
    finalDismiss=(Button)findViewById(R.id.final_dismiss); 
    finalDismiss.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Toast.makeText(getApplicationContext(),"welcome to second 
avtivity",Toast.LENGTH_SHORT).show(); 
      mPlayer.stop(); 
      finish(); 
     } 
    }); 
    } 
} 
相關問題