game.soundClick = function (nameWav, nameMp3, nameOgg, volume){
const soundCookie2 = Cookies.get('puzzleSound');
if (soundCookie2 === 'checked'){
let audio = new Audio(); // Создаём новый элемент Audio
if (audio.canPlayType('audio/mpeg;')){
audio.src = 'assets/musics/' + nameMp3;
}else if (audio.canPlayType('audio/wav;')){
audio.src = 'assets/musics/' + nameWav;
}else {
audio.src = 'assets/musics/' + nameOgg; // Указываем путь к звуку "клика"
}
audio.play();
audio.volume = volume; // Громкость музыки
audio.addEventListener('ended', function (){
audio = {};
});
}
};
Обычная функция, воспроизводит 1 секундный звук по клику на элемент.
Есть ли в ней подвох?
Я уже дописал удаление объекта после окончания звука.
Может ли она плодить пустые объекты?
Есть ли способ ее оптимизировать?