안녕하세요?


현재 게임 어플을 제작중인데요 다른 폰은 별다른 문제 없는데


갤럭시S2에서 SoundPool.play를 했을 때 무한루프에 빠지거나 (play 메소드가 return 하지 않음)


어플이 뻗는 현상이 발생하는데요..


펌웨어도 최신으로 해보았구요..



따로 심플하게 어플을 만들어서 테스트도 해보았습니다.


배경음악을 켜고(OGG) 소리 100개를 계속 재생해보았습니다.


하다보면 소리가 어느 순간 나오지 않습니다. (배경 On/Off와는 별 상관이 없는 것 같음)


wav가 아닌 다른 파일을 써도 마찮가지구요..


검색 된 결과 비슷한 문제가 발생한 경우들이 있더라구요.


http://www.androidpub.com/index.php?mid=appnews&category=101769&document_srl=1578725


해외에서도 크래쉬 되는 문제가 있다구 하고..


뭐 wav 2번 재생되는 문제에서부터..


이런저런 사운드 관련 문제들이 있는것 같은데요..




도통 해결할 방법이 없을까요?


갤스2 꽤 많이 팔렸을 텐데,, 이대로 겜을 내기에는 좀 그렇고..


제 지금 생각에 해결할 수 있는 방법은..


1. OpenAL 을 쓴다


하지만 공식적인 지원이 아닌거 같기도 하고,, 느리네요 갤스2에선 웬만큼 반응이 빠르지만 


다른 폰에선 느립니다. 중간에 프레임 튀는 현상도 아주 조금씩 있구요..


지원을 하게 된다면 갤스2에서만 OpenAL을 써야 될 것 같아요.



2. Thread로 돌린다


SoundPool과 관련된 메소드를 Thread로 날려서 처리 하는 방법요.


플레이 시작 되는 시간이 약간 느릴 수 있겠지만 .. 크게 무리는 없지 않나 싶은..


하지만.. 정작 스레드가 멈췄을 땐 안정성이 보장될지.. 


SoundPool.play 에서 멈추면 효과음 사운드가 그 때부턴 재생이 안되고 게임만 진행이 되는 것이지요..





둘 다 먼가 마음에 안드네요..


조금 더 깔끔한 방법이 없을까요.. +_+


아 삼성 제품 왜 이러니 .. ㅠㅠ