我開始媒體播放器這樣的:我怎樣才能阻止媒體播放器中的另一個活動?
if (mp != null) {
mp.stop();
mp.reset();
mp.release();
}
mp = MediaPlayer.create(this, R.raw.background);
mp.start();
我怎樣才能阻止另一個動作?它繼續在另一項活動中發揮作用。我如何在其他活動中使用onDestroy
?
我開始媒體播放器這樣的:我怎樣才能阻止媒體播放器中的另一個活動?
if (mp != null) {
mp.stop();
mp.reset();
mp.release();
}
mp = MediaPlayer.create(this, R.raw.background);
mp.start();
我怎樣才能阻止另一個動作?它繼續在另一項活動中發揮作用。我如何在其他活動中使用onDestroy
?
在第一次活動覆蓋的onPause
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
mp.stop();
}
你不能說停止活動,但是從活動本身
實現這一目標,你可以在服務發送的媒體播放器,並綁定到服務你要訪問它
使用單獨的類象下面這樣在你的項目活動。
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();
停止音頻。 希望這有助於。
偉大的代碼!謝謝 –
非常感謝,工作很好 –
正如你在第一個活動啓動媒體播放器,並想阻止另一個動作,只是用吹氣佈局自我,而不是創建另一個活動調用你的第二個佈局在第一個活動..並在第二個佈局文件只停留在媒體播放器通過按下按鈕
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();
}
});
}
}
在您當前的活動onPause使用mp.stop()。當您導航到次活動的第一個活動被暫停 – Raghunandan
調用內部的onPause如果你玩 – Blackbelt
停止孔德跨多個活動,使用服務。 – njzk2