2017-09-13 13 views
0

사용자가 응용 프로그램을 종료하거나 (홈 버튼)을 클릭 할 때 음악을 멈추려 고 할 때 응용 프로그램이 백그라운드에서 음악을 재생할 때, 사용자가 집을 클릭하면 음악을 멈출 수있는 방법 버튼? 사용자가 반환하면 음악이 다시 재생됩니까? 내 코드 : 당신이 활동에 있기 때문에백그라운드에서 응용 프로그램을 사용하는 경우 음악을 중지하는 방법

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.vaporv2); 
    if(!mediaPlayer.isPlaying()){ 
     mediaPlayer.start(); 
    } 
    mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
     public void onCompletion(MediaPlayer mp) { 
      mediaPlayer.start(); 
     } 
    }); 
//toggle off and on : 
    MusicButton = (ToggleButton) findViewById(R.id.toggleButton); 
    MusicButton.setOnCheckedChangeListener(new OnCheckedChangeListener() { 
     @Override 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
      if (MusicButton.isChecked() && mediaPlayer.isPlaying()) { 
       mediaPlayer.pause(); 

      } else { 
       mediaPlayer.start(); 
      } 
     } 
    }); 

답변

0

:

이 상태에 대한 확인 : 일시 정지 상태에

: 당신이 이력서 상태에서 홈 버튼

@Override 
    protected void onPause() { 
     super.onPause(); 
     if(mediaPlayer!=null && mediaPlayer.isPlaying()){ 
      mediaPlayer.pause(); 
     } 
    } 

을 누르면 : 화면에 다시 올 때

@Override 
    protected void onResume() { 
     super.onResume(); 
     if(mediaPlayer!=null && !mediaPlayer.isPlaying()){ 
      mediaPlayer.start(); 
     } 
    } 
0

당신이 onResumeonStop 방법
을 무시하고 다음 재생/당신의 응용 프로그램을 일시 정지 할 수 있습니다. 당신의 활동에

 @Override 
     protected void onResume() { 
      super.onResume(); 
     if(!mediaPlayer.isPlaying()){ 
      mediaPlayer.start(); 
     } 
     } 

     @Override 
     protected void onStop() { 
      super.onStop(); 
     mediaPlayer.pause(); 
     } 
+0

이러한 종류의 작업은 대개 * 대칭 *입니다. 이는 반대 라이프 사이클 이벤트에서 수행된다는 것을 의미합니다. 'onResume'에서 뭔가를 시작하니? 'onPause'에서 멈추십시오. 'onStop'에서 무언가를 멈추시겠습니까? 'onStart'에서 시작해야합니다. – Pelocho

+0

'앱을 나가거나 (홈 버튼)을 클릭 할 때 음악을 멈추려 고합니다. 백그라운드에서 음악을 재생해도 응용 프로그램이 재생됩니다. 홈 버튼을 클릭하면 음악을 멈출 수 있습니다. ? 사용자가 돌아 오면 음악이 다시 재생됩니다 .- 이것은 실제 기능이 아닐지라도 OP가 요청한 것과 이에 따라 답변 한 것입니다. –