2011-01-20 4 views
0

저는 이것이 안드로이드의 멀티 태스킹 기능 중 하나임을 알고 있지만, 제 문제에 대한 해결책을 찾을 수 없습니다.애플 리케이션이 닫힌 후에 MediaPlayer가 계속 재생됩니다.

나는 애플 리케이션에 반복 재생되는 오디오 클립을 재생하는 미디어 플레이어 개체를 가지고 있으며 응용 프로그램이 닫힐 때만 멈추는 것으로 간주되며 소리가없는 비디오를 재생하는 VideoView와 함께 실행됩니다 (이유 : 비디오가 끊김없이 반복되어야하며 비디오에 첨부 된 사운드가 없으면이 작업을 수행하는 것만 보입니다.) 비디오가 멈 추면 (즉, 앱이 닫힐 때) 멈출 사운드가 필요합니다. VideoView에 isPlaying() 메서드가 있다는 것을 알았으므로 지금까지 시도한 모든 것을 실패했을 수 있습니다.

스레드를 사용해야할까요? 더 이상 재생 중이 아님을 나타내는 VideoView에서 메시지를 보내는 방법이 있습니까? MediaPlayer 객체에서 stop() 메서드를 호출 할 수 있습니다.

답변

5

다음을 시도해보십시오. 코드, MediaPlayer 개체를 중지하려면

@Override 
    protected void onPause() { 
     if(mPlayer!=null || mPlayer.isPlaying()){ 
      mPlayer.stop(); 
      mPlayer.release(); 
     } 
     mPlayer = null; 
     super.onPause(); 
    } 
+0

나는 당신이 요점을 놓친 것 같아요, MediaPlayer는 별도의 VideoView가 멈추었을 때만 멈출 수 있지만 이브 ry 메서드 나는 행운을 가지고 노는 것을 중지 한 콜백을 다시 얻으려고했다. – SamRowley

+0

@SamRowley :'VideoView'가 수동으로 멈추거나'onDestroy()'가 활동 중에 호출되기 때문에 당신은 이미'VideoView'가 멈춘 것을 알고 있습니다. 따라서 두 곳에서 'MediaPlayer'를 중지하십시오. @VenkaReddy는 올바른 트랙에 있습니다. onPause() 또는 onStop()에서 비디오 재생을 중단해야합니다 (화면 상에 있지 않을 때 재생할 때 아무런 의미가 없기 때문에). 'MediaPlayer'도 그 때. – CommonsWare

+0

고마워요. 처음 엔 당신이 의미하는 것을 정말로 이해하지 못했고, 완벽하게 일했습니다. – SamRowley

관련 문제