我正在做一个简单的游戏,因为我需要一些简短的音效,我认为Soundpool将是合适的。但是它不起作用!我听不到任何声音!我一遍又一遍地检查了我的代码,并将其与其他几个示例进行了比较,但仍然不起作用!我很困惑,需要一些帮助才能让它正常工作。
这是我的代码。我是不是漏掉了什么,或者我可以用另一种方式来做?感谢您的帮助!谢谢!
soundPool = new SoundPool(4,AudioManager.STREAM_MUSIC, 0);
soundPoolMap = new HashMap<Integer, Integer>();
soundPoolMap.put(0, soundPool.load(this, R.raw.bonk2, 1));
soundPool.play(0, 1f, 1f, 1, 0, 1f);
soundPool.release();发布于 2013-04-05 15:22:52
在您的示例中,您提到的任何声音ID都是0,而应该使用load()方法提到加载的声音的声音ID。
例如:
soundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0);
soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
@Override
public void onLoadComplete(SoundPool soundPool, int sampleId,
int status) {
loaded = true;
}
});
soundID = soundPool.load(this, R.raw.sound1, 1);
soundPool.play(soundID, volume, volume, 1, 0, 1f);检查此示例:Tutorial: Play sounds via SoundPool
https://stackoverflow.com/questions/15827970
复制相似问题