Почему Google Chrome блокирует звук audio элементов при отсутствии https?

Добавляю на страницу элемент следующим образом:
<audio controls id="sound-card" src="./card.wav" type="audio/wav"></audio>


Затем запускаю статический HTTP-сервер, ожидая работающий проигрыватель, но получаю неактивный:
Изображение

5cd93e6e792eb881268153.png


При попытке загрузить аудио примерно следующим образом:
const audio = new Audio('./test.wav');
audio.addEventListener('canplay', () => audio.play());

Возникает пустое исключение:
Изображение

5cd93f3c41e71241240704.png


Заметил что эти проблемы возникают только при использовании протокола HTTP. Причем только нативные API (<audio /> и new Audio()) перестают работать. Howler.js показал себя отлично.

Подскажите, где найти официальную информацию по этой теме?
Также интересно было бы узнать о возможных решениях. Заранее спасибо.
  • Вопрос задан
  • 323 просмотра
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
Возможно проблема в том что браузеры запрещают воспроизводить звуки на сайтах автоматически.

Только после того как пользователь совершит действие которое приведет к включению звука.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы