|
@@ -52,11 +52,14 @@ const KillFeed = () => {
|
|
|
display.forEach(() => {
|
|
|
const audio = new Audio(hitsound);
|
|
|
audio.volume = 0.5;
|
|
|
- const delay = Math.random() * 500; // delay up to half a second so overlapping sounds better
|
|
|
- audio.addEventListener("canplaythrough", () =>
|
|
|
- setTimeout(() => audio.play(), delay)
|
|
|
+ // delay up to half a second so overlapping sounds better
|
|
|
+ const delayedPlay = () =>
|
|
|
+ setTimeout(() => audio.play(), Math.random() * 500);
|
|
|
+ audio.addEventListener("canplaythrough", delayedPlay);
|
|
|
+ // clean up after ourselves in the hopes that the browser actually deletes this audio element
|
|
|
+ audio.addEventListener("ended", () =>
|
|
|
+ audio.removeEventListener("canplaythrough", delayedPlay)
|
|
|
);
|
|
|
- audio.addEventListener("ended", () => audio.remove()); // clean up after ourselves
|
|
|
});
|
|
|
}, [display]);
|
|
|
return (
|