2012-09-20 10 views
10

ActivityMediaPlayer을 사용하고 있습니다. 나는 다시 버튼을 누르면 때 MediaPlayer 오류 : 상태 64에서 호출이 일시 중지되었습니다.

, 나는이 오류를 얻을 :

09-20 19:44:16.540: E/MediaPlayer(1822): pause called in state 64 
09-20 19:44:16.540: E/MediaPlayer(1822): error (-38, 0) 

코드

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { 
     if (mp!= null && mp.isPlaying()) { 
      mp.stop(); 
     } 

     Intent intentstart = new Intent(X.this, Y.class); 
     intentstart.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     startActivity(intentstart); 
    } 

    return super.onKeyDown(keyCode, event); 
} 

내가 mp.pause()를 사용하는 경우를, 그것은 잘 작동합니다. 왜?

+0

예를 사용 : (! MP = NULL) 경우 mp.pause을(). 그 외에 super.onPause(); – erdomester

답변

4

중지 된 MediaPlayer을 일시 중지하는 것과 해당 오류 메시지에 따라 수행중인 작업과 똑같은 소리가 들립니다.

을 변경하여 정지 된 MediaPlayer을 일시 중지하지 않는 것이 좋습니다.

아마도 :

            
 
  
              
    if(mp!= null) { 
     if(mp.isPlaying()) mp.pause(); 
    } 

            
 

사실이 작업을 수행하지 않는, 그냥 워드 프로세서에서 이걸 발견 : 당신이 이미 중지 한 경우 로컬 변수를 유지해야

Note that the transition from the Started state to the Paused state and vice versa happens asynchronously in the player engine. It may take some time before the state is updated in calls to isPlaying(),

확인하기 MediaPlayer을 입력 한 다음 pause()에 전화해야하는지 여부를 테스트합니다.

:

+0

어디서나 .pause를 사용하고 .stop()을 전혀 사용하지 않으면 어떻게됩니까? – erdomester

+0

미디어 플레어 전문가가 아니지만 작동하지 않는 이유를 즉시 생각할 수 없습니다. – Tim

+1

나는 mp를 사용하여 그것을 해결했다.어디에서나 mp.isplaying() 인 경우에는 일시 중지()하고 mp.stop()을 사용하지 않을 경우. – erdomester

6
그들은 내 문제가 해결되지 않은 응답이 위의 다른 것들에 유용했다하지만 내가 답을 찾고 여기 온

, ...

하지만 ... 나는 문제를 해결하기 위해 관리 도움이

mediaPlayer.reset();

mediaPlayer.stop();

변경 나 문제 :

+1

이것은 매력처럼 작동합니다. 고맙습니다. 덕분에 – newbieee

+0

. 옆에있는 "위쪽 화살표"를 클릭하여 답을 평가하는 것을 잊지 마십시오. 내가 도울 수있어서 기뻐. :) –

11

나는 플레이어를 재설정 일시 정지 및 seekto 방법을 사용 지적에 대해 다시 error(-38 , 0)

감사를 없애.

player.pause(); 
player.seekTo(0); 
1

를 중지 한 후 미디어 플레이어를 시작으로 문제에 직면 한 후, 내가 예외를 가지고 그것은 완벽하게 작동 mp.reset()mp.stop()를 교체 할 때 MP는, 유능한 다시 시작 했다.

1

심지어 같은 오류로 비슷한 문제에 직면했습니다.

내가 mplayer.pause() 대신 mplayer.stop()

관련 문제