Задать вопрос

Как запустить скрытый аудиофайл в современных браузерах?

Оговорюсь - я знаю, что это плохо, что мне руки отрубить нужно. Но заказчик не я. Я только исполняю. autoplay уже даже в хроме запретили. Подскажите, есть какие трюки для обхода? Ко мне в голову только один вариант пришел, вот такой:
if(!sessionStorage.getItem('audio_played')) {
		var audioFile = new Audio('/files/file.mp3');
		audioFile.volume = 0.2;

		audioFile.addEventListener('loadeddata', function() {
			$(document).on('click', play);
		});

		function play() {
			audioFile.play();
			$(document).off('click', play);
			// sessionStorage.setItem('audio_played', true);
		}
	}

Но он происходит, только если куда либо кликнуть на странице. А надо, чтобы при загрузке запускалось. Mousemove, scroll не являются пользовательскими событиями и потому на них браузер просто ругается. Кто может, подскажите.
  • Вопрос задан
  • 566 просмотров
Подписаться 5 Простой 2 комментария
Решения вопроса 1
tundramani
@tundramani
используй эту библиотеку для работы о звуком
https://howlerjs.com/

1) создаешь объект звука и указываешь путь к аудио-файлу
2) запускаешь этот звук
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Symphony
@Symphony Куратор тега JavaScript
<iframe src="http://www.hochmuth.com/mp3/Haydn_Cello_Concerto_D-1.mp3" allow="autoplay" id="audio"  style="display:none"></iframe>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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