2013-05-22 39 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(); 
     } 
    }); 
    } 
} 
相关问题