1

我正在做一个简单的游戏,因为我需要一些简短的音效,所以我认为 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();
4

1 回答 1

4

在您的情况下,您提到任何声音 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);

检查此示例:教程:通过 SoundPool 播放声音

于 2013-04-05T07:22:52.063 回答