Одновременное воспроизведение 20 клипов с буллит может быть немного интенсивным. Это может быть хорошо. Однажды я сделал колокольчик, который играл 7 перезвонов, накладывающихся друг на друга (каждый длился около 3 или 4 секунд), и сумел настроить его на воспроизведение около 100 перезвонов на 5-секундный блок. Но программа больше ничего не делала.
С помощью клипов для этого вам нужно будет сделать несколько копий, и все эти аудиоданные будут храниться там, занимая ОЗУ. Если они действительно короткие, это не такая жертва. Но для быстрой стрельбы решение, используемое большинством игр, состоит в том, чтобы просто отключить звук и перезапустить. Вам не нужно проигрывать звук до конца.
myClip.stop();
myClip.setFramePosition(0);
myClip.start();
с каждым стартом. Это то, что чаще всего делается. Он использует намного меньше ресурсов процессора и меньше оперативной памяти, чем перекрывающееся решение Clip.