2011-10-05 4 views
0

8 개의 .5 초 미디 파일을 재생하는 작은 응용 프로그램을 만들고 있습니다. 나는 지정된 객체가 만질 때마다 호출되는 ontouch 액션을 가지고 있으며, 터치 된 객체에 따라 지정된 midi 파일을 재생하는 if/else if 문을 가지고 있습니다. 이걸 실행할 때 처음 몇 번 터치해도 잘 작동하지만 잠시 후 재생이 멈추고 결국 앱이 충돌합니다. 여기서 뭐가 잘못 됐어?사용 후 Media Player 크래시가 발생했습니다.

기본 구조 :

public ontouch(){ 
    if (something >= 3){ 
     mediaplayer s = mediaplayer.create(somethingmidi2); 
     s.start(); 
    }else if (something < 3){ 
     mediaplayer s = mediaplayer.create(somethingmidi); 
     s.start(); 
    } 
} ` 
+0

'something == 3'이되면 어떻게됩니까? 그게 무슨 뜻이야? 또한,'if/else'의 두 섹션은 똑같은 일을합니다. – CanSpice

+0

수정 됨. 그냥 그 psuedo 코드를 빨리 타이핑했다. –

답변

0

그냥 추측하지만, 당신은 아마 미디어 플레이어의 release() 메소드를 호출되지 않으며, reset() 당신이 그것을 다시 초기화된다.

+0

아니요, 아닙니다. 나는 그것이 기능의 끝까지 중요하지 않다고 생각했다. 매번 그 전에 전화해야합니까? 그것은 내가 현재 겪고있는 약간의 지연을 줄이겠습니까? –

+0

지연 부분을 무시하고 다시 테스트 한 결과 실제 지연이 없다는 것을 깨달았습니다. 그 석방으로 충돌이 멈추지 않을까요? –

+0

필자가 읽은 바로는 release 메소드를 호출하기 만하면된다. 리셋을 사용하면 어떤 이점이 있습니까? –

관련 문제