0
我有以下代碼播放聲音,它是在GLSurfaceView.Renderer
類soundpool.play不播放聲音
SoundPool pool=new SoundPool(20,AudioManager.STREAM_MUSIC,0);
int resourceID=_context.getResources().getIdentifier("collisionsound","raw","com.frd.neongameengine");
int id=pool.load(_context,resourceID,1);
try {
Thread.sleep(20000);
} catch(InterruptedException ex) {
throw new RuntimeException();
}
int status=pool.play(id,1,1,0,0,1);
但它不播放聲音和soundpool.play
返回0的onsurfacecreated
方法.. ..
我在做什麼錯?
你的代碼看起來很好,除了多餘的'Thread.sleep'和奇怪的檢索資源id的方法(你不需要調用'getIdentifier',你可以用'load(_context,R.raw。你有沒有在Logcat中有任何錯誤?也許你的文件對於'SoundPool'來說太大了,你應該用'MediaPlayer'來代替。 –
我使用getIdentifier,因爲我需要通過一個配置文件來加載聲音,因爲我go.thread.sleep是爲了確保聲音文件在播放的時候被加載,因爲我已經發現了很多答案,聲音文件是11kb,因此它非常小。 – coolblue2000