Если я правильно читаю ваш код, вы находите неоткрытый клип и открываете его перед воспроизведением.Было бы быстрее взять открытые клипы и перезапустить их.Возможно, вам придется сначала остановить и сбросить их позиции, как показано JSmyth в примере playShootSFX ().
Я получаю довольно хороший ответ с SourceDataLines.Приятно то, что они запускаются быстрее, чем неоткрытый клип, поскольку они запускаются сразу, вместо того, чтобы ждать, пока ВСЕ данные для звука будут загружены в ОЗУ (что происходит каждый раз, когда вы «открываете» клип).* Но, да, если у вас много маленьких звуков, которые часто воспроизводятся, лучше всего использовать пул клипов.Если вы хотите, чтобы они перекрывались или всегда воспроизводились до конца, вам нужно несколько копий.Если нет, то остановитесь, сбросьте на 0 и перезапустите.Но не продолжайте открывать!Если вы делаете это, вы также можете использовать SourceDataLine.