2010-11-29 3 views
4

나는 안드로이드에 상당히 익숙해 져있어 온화합니다!안드로이드 SoundPool 컷팅 사운드 파일 short

나는 다음 코드를 가지고있다. 나는 "developersshort"를 재생해야한다고 생각한다.

public constructor(Context context){ 
    this.context = context; 
    soundPool = new SoundPool(2, AudioManager.STREAM_MUSIC,0); 
    soundPoolMap = new HashMap<Integer, Integer>(); 
    soundPoolMap.put(1, soundPool.load(this.context, 
     R.raw.developersshort, 1));   
} 

public void run() { 
    soundPool.play(soundPoolMap.get(1), 1, 1, 1, 0, 1f); 
} 

은 [무슨 일이 일어나고 있는지 알아 내려고 시도하기 위해서는 현재 스티브 발머의 리믹스는 "개발자"를 반복해서 외치는 것을한다! 사운드 파일의 크기가 ~ 90KB입니다.]

에뮬레이터에서 내 앱을 실행하고 버튼을 누르면 소리가 나기 때문에 "개발자 개발자"라고 말합니다.

그러나 휴대 전화에 배포하면 "velop"과 같은 소리가 들리고 소리가 멈 춥니 다.

나는 어떤 일이 벌어지고 있는지 전혀 모른다.

고맙습니다.

답변

1

오디오 파일이 .ogg 파일입니까? 다른 형식에서도 SoundPool에 문제가있는 것 같습니다. 그래도 작동하지 않으면 작은 오디오 파일로 테스트 해 볼 수 있습니다. 오디오 파일이 60kb 이상일 때 몇 가지 결함이있었습니다.

0

저장 용량이 60kb이거나 힙에 2MB가 디코딩 된 순수 웨이브로 제한 될 수 있습니다. 예. 잠시 이상 아무것도 사용하지 마십시오.

soundpool에는 실제로 작은 파일이 필요합니다. SDK 페이지를 읽으십시오.

1

사운드 파일을 리샘플링 해 보았습니까 ???

그 전에 내 사운드 파일이 끊어졌습니다. 그러나 나는 44KHz에서 22KHz로 m4a를 변환하고 다시 샘플링했으며 이제는 잘리지 않고 작동합니다. 이것을 참조하십시오 : and again about memory issues with SoundPool

동일하게 시도하십시오.

희망은 도움이 될 것입니다.