如何停止MediaPlayer

时间:2012-10-13 02:41:04

标签: android

我有一个问题。即使活动停止,我的媒体播放器也不会停止。所以我很困惑为什么媒体播放器不会停止。媒体播放器立即播放,直到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();


            }




 }});

感谢您的帮助

3 个答案:

答案 0 :(得分:0)

您可以覆盖onPause()onStop()并将其停在那里:

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

要处理停止和重新启动活动,请访问: http://developer.android.com/training/basics/activity-lifecycle/stopping.html