마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

홈버튼누르면 음악이 잠시멈추게하고싶은데, 도저히 안되네요

0 추천
private static MediaPlayer mp;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);
        Intent splash = new Intent(this, splash.class);
        startActivity(splash);
       
        mp = MediaPlayer.create(this,R.raw.tak);
        mp.setLooping(true);
        mp.start();
       
      

        setContentView(R.layout.activity_main);
     ImageButton icon1=(ImageButton)findViewById(R.id.puzzlebutton);
        icon1.setOnClickListener(new ImageButton.OnClickListener(){
         public void onClick(View v){
          Intent intent = new Intent(MainActivity.this,move00.class);
          startActivity(intent);
         }
        });
        ImageButton icon2=(ImageButton)findViewById(R.id.puzzle1to50);
        icon2.setOnClickListener(new ImageButton.OnClickListener(){
         public void onClick(View v){
          Intent intent = new Intent(MainActivity.this,move02.class);
          startActivity(intent);
         
         }
        });
                   
    }
   
    protected void onDestroy(){
     super.onDestroy();
     mp.release();       
    }

 

이전버튼으로 프로그램종료와동시에음악이종료되는건 가능한거같은데,

홈버튼 눌러서 음악이 종료되는건 도저히 안되네요, onPause onStop 다 써봤는데

왜 안되는걸까요...?
익명사용자 님이 2013년 10월 23일 질문

1개의 답변

0 추천
onPause() 에서 mp.stop() 하시면 될텐데요;
Gradler (109,780 포인트) 님이 2013년 10월 23일 답변
stop만 넣으면 어플을 다시 실행할 때 재생이 다시 안되고 mediaplayer객체를 다시 생성해 플레이한다 해도 재생한 위치 정보를 가지고 있다 설정해주지 않는 이상  이어서 듣기도 안되니..
mp.stop() 대신 mp.pause()를 호출하시고
onResume에 mp.start를 넣어 주시는게 좋을 듯 하네요.
...