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

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 по клику.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Market-place Ростов-на-Дону
от 100 000 до 200 000 ₽
24 июн. 2024, в 14:07
2000 руб./за проект
24 июн. 2024, в 13:33
100000 руб./за проект
24 июн. 2024, в 13:09
50000 руб./за проект