2012-04-22 2 views
1

내 게임에서 플레이어의 승리 여부에 따라 점수 화면에서 간단한 노래를 반복하는 활동이 있습니다. 그러나 내 Score Activity를 끝낸 후에는 소리가 가비지 수집이 발생할 때까지 루프를 계속합니다. 아래는 내 코드 조각입니다. 나는 현재 소리를 멈추기 위해 가비지 콜렉션을 강요한다! 왜 멈추지 않습니까() 또는 해제()하지 않습니까? MediaPlayer를 루핑되지 않은 경우stop() and release() android를 호출 한 후 사운드가 멈추지 않습니다.

 try { 
      mp = MediaPlayer.create(this, fileId); 
      mp.start(); 

      mp.setOnCompletionListener(new OnCompletionListener() { 

       public void onCompletion(MediaPlayer mp) { 
        mp.release(); 
        mp = null; 

       } 
      }); 
     } catch (Exception exception) { 
     } 

답변

0

는이 같은 OnCompletionListener 뭔가를 사용하여 노력했다. 그러나 내 삼성 Galaxy SII에서는 stop() 및 release()에도 불구하고 이전과 같이 소리가 계속 반복됩니다.
+0

귀하의 제안이 작동합니다

public void onPause(){ super.onPause(); _sounds.release(); } public void load(){ _victory = MediaPlayer.create(mActivity, R.raw.victory); _victory.setLooping(true); _failure = MediaPlayer.create(mActivity, R.raw.flutedeath); _failure.setLooping(true); } public void release(){ _victory.stop(); _victory.release(); _victory = null; _failure.stop(); _failure.release(); _failure = null; System.gc(); } 
ehuang

관련 문제