2013-08-24 2 views
0

게임용 코드를 작성하고 있는데 사운드를로드하려고합니다. 나는 배경 음악이 바로 재생을 시작합니다 - 그래서 나는이 코드를 썼다 :OnLoadCompleteListener가 트리거되지 않음

//load the sounds 
sPool = new SoundPool(3, AudioManager.STREAM_MUSIC,0); 
explosionID = sPool.load(context, R.raw.explosion, 1); 
swapID = sPool.load(context, R.raw.swap,1); 

sPool.setOnLoadCompleteListener(new OnLoadCompleteListener() 
{ 
    @Override 
    public void onLoadComplete(SoundPool soundPool, int sampleId, int status) 
    { 

     //start playing the background music 
     sPool.play(backgroundMusicID, 0.5f, 0.5f, 3, 1, 1f); 

    } 
}); 

backgroundMusicID = sPool.load(context, R.raw.alchemists_tower,1); 

다른 소리를로드하고 잘 작동하지만, 배경 음악을 시작할 것으로 보인다되지 않습니다를. 나는 청취자에게 중단 점을 두었고 결코 멈추지 않는 것처럼 보인다. 파일 자체는 약 반 MB입니다 ('폭발'은 250kb이며 잘 작동합니다). backgroundmusic에 올바른 id가 주어집니다 (디버거로 확인).

트리거가 나타나는 유일한 시간은 활동이 언로드 된 후에입니다 (다른 활동을로드 할 때). 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

0

좋아, 마침내 해결했습니다. 이유는 AudioFlinger가 -12 오류로로드에 실패했기 때문입니다.

배경 음악으로 Media Player를 사용하는 것으로 바뀌 었습니다. 메모리 부족 현상에 대해 잘 모르기 때문에 끝났습니다.