Android 如何阻止MediaPlayer

Android 如何阻止MediaPlayer,android,Android,我有个问题。我的媒体播放器没有停止,即使活动已停止。所以我搞不懂为什么媒体播放器不停。媒体播放器立即播放,直到mp3播放完毕。这是我的密码 public class Isi_TakbiratulIhram extends Activity{ MediaPlayer mp; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.o

我有个问题。我的媒体播放器没有停止,即使活动已停止。所以我搞不懂为什么媒体播放器不停。媒体播放器立即播放,直到mp3播放完毕。这是我的密码

public class Isi_TakbiratulIhram extends Activity{
MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.isitakbiratulihram);

    ImageButton iftitah1=(ImageButton) findViewById (R.id.takbiratulihram1);
    iftitah1.setOnClickListener(new OnClickListener(){
         @Override
        public void onClick(View v){
            go();
         }
        public void go(){

            if(mp != null ){
                mp.stop();
                try {
                    mp.prepare();
                } catch (IllegalStateException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                mp.seekTo(0);

                mp = null;

            }
            else {
                mp=MediaPlayer.create(Isi_TakbiratulIhram.this, R.raw.iftitah1);


            mp.start();


            }




 }});

感谢您的帮助

您可以覆盖
onPause()
onStop()
并将其停止:

@Override protected void onPause()
{
    if(mp != null ){
        mp.stop();
        // mp.release(); ??
    }
    super.onPause();
}

覆盖活动
onPause()
停止媒体播放器的方法:

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

当用户停止一个活动时,活动的状态可以变为onStop()状态,因此需要停止任何正在进行的任务,如在此处播放音乐。因此,在android编程中,需要处理所有状态,如onRestart()、onResume()、onStop()、onPause()、onDestroy(),以确保程序正常运行

要处理活动的停止和重新启动,请访问:

@Ardi:onPause()或onStop()都是活动方法,所以只需将此方法放在onCreate活动方法之后即可。如果你有任何问题,请用完整的代码编辑你的帖子,我会为你做的。谢谢