我开始媒体播放器这样的:我怎样才能阻止媒体播放器中的另一个活动?
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