안드로이드 개발 질문/답변
(글 수 45,052)
public void PlayClickSound()
{
if(SoundPlay == 1)
{
Log.d("LogMSG","PlaySound");
Context context = CCDirector.sharedDirector().getActivity();
SoundEngine.sharedEngine().playEffect(context, R.raw.click2);
}
}
평상시에는 정상적으로 소리가 나는데
한 열번에 한번정도? 비정상적으로 소리가 2번 플레이 됩니다.
그래서 혹시나 하고 로그 찍어보면 소리2번 날때도 로그는 1번만 찍힙니다.
(즉 PlayClickSound()가 한번만 실행됨)
PlayClickSound() 함수 이외에 다른곳에서 사운드 플레이 되는 부분은 없구요.
항상 그런것도 하니고 어쩌다 한번씩 그러니 해결책을 찾기가 너무 어렵네요.
평소 사운드가 '딱'이라면
어쩌다 한번씩 '따닥' 이런식으로 2번 플레이 됩니다.
혹시 이런 경험 있으신 분 계시면 해결책좀 부탁 드리겠습니다.
참고로 최초 실행시
SoundEngine.sharedEngine().preloadEffect(context, R.raw.click2);
위와 같이 프리로드도 했습니다.




이전에 실행되었던 사운드가 garbage collector로 처리되어 소멸되어야 하는데 처리가 되지 않고 남아 있어서 그런 것 같습니다.
lifecycle중 onDestroy, onResume, onPause가 설정되어야 할것 같습니다.