Правильная работа с звуком клика или я пложу объекты?

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 секундный звук по клику на элемент.
Есть ли в ней подвох?
Я уже дописал удаление объекта после окончания звука.
Может ли она плодить пустые объекты?
Есть ли способ ее оптимизировать?
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Это вы при каждом клике планируете парсить куки, создавать новый audio, менять в нем src, проигрывать и потом уничтожать?

Намного лучше будет один раз создать audio, а потом только дергать play по клику.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы