Атрибут autoplay не работает

Здравствуйте не работает атрибут autoplay. В интернете нашел решение запихнуть его в видео, но 1 оно даже так не работает и 2 люди говорят что это неправильно. Подскажите пожалуйста что делать?

<!DOCTYPE html>
<html>

<head>
  <title></title>
</head>

<body>
  <audio autoplay>
    <source src="audio/intro.mp3" type="audio/mpeg">
    </audio>
</body>

</html>

Путь звука


Ответы (1 шт):

Автор решения: De.Minov

Несмотря на то, что у <audio> и <video> есть атрибут autoplay, который запустит воспроизведение автоматически, во многих браузерах это работать не будет, т.к. многих людей это бесит.

Представьте ситуацию, вы сидите ночью на колонках, заходите на какой-то сайт и что-то где-то начинает орать (если б многие писали изначально .volume = .25, может быть удалось бы избежать отключение браузерами автовоспроизведения), а вы в это время пытаетесь найти как это выключить или же вовсе закрываете вкладку\браузер.

Мало приятного, согласитесь, по этому некоторые браузеры ограничили этот атрибут.

Например <video autoplay> будет работать только при наличии атрибута muted.

А как быть с <audio>?

Одно из решений, которое в целом не запрещено, это воспроизвести аудио, как только пользователь кликнул где-то на странице.

const audio = document.querySelector('#audio');

audio.pause();
audio.volume = .25;

document.addEventListener('click', AudioPlay);

function AudioPlay() {
  audio.play();
  document.removeEventListener('click', AudioPlay);
}
<p>Кликните по странице, чтобы воспроизвести</p>
<audio id="audio" src="//minov.pw/_remove/ruso/audio.mp3" preload="auto" autoplay controls></audio>

→ Ссылка