@RainoYT

Пoчeму нe вoспрoизвoдится фoнoвая музыкa в Sаfаri?

Здравствуйте!
Пытаюсь разобраться с фоновой музыкой на сайте.
Я полностью скопировал эту (1. Оригинальную) страницу и вставил в JSFiddle (2). Открываю обе страницы в Яндекс.Браузере, на обоих играет музыка, а открывают эти же страницы в Safari и почему-то на оригинальной странице музыка играет, а на JSFiddle нет.

Из-за чего может быть такая аномалия?
Причём такая же фигня, если перенести код из JSFiddle на реальный сайт.

1. Оригинал страница: stepkinblog.ru/wp-content/osnovi-HTML/audio-html/i...
2. JSFiddle: https://jsfiddle.net/djz8kr2m/
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ответы на вопрос 2
sanchezzzhak
@sanchezzzhak
Ля ля ля...
1 что бы воспроизвести видео/аудио нужно действие пользователя на странице.
клик по элементу, который виден должен запустить видео/аудио
Это политика эппл.
У хрома тоже похожая политика. (chrome://media-engagement) видны здесь.

2 ресурсы http нельзя использовать в https
Ответ написан
AntonLitvinenko
@AntonLitvinenko
HTML coder
Попробуйте, когда-то давно такое сработало
window.addEventListener('load', function () {
  var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
  var source = audioCtx.createBufferSource();
  var xhr = new XMLHttpRequest();
  xhr.open('GET', '/sound.mp3');
  xhr.responseType = 'arraybuffer';
  xhr.addEventListener('load', function (r) {
    audioCtx.decodeAudioData(
      xhr.response, 
      function (buffer) {
        source.buffer = buffer;
        source.connect(audioCtx.destination);
        source.loop = false;
      });
    source.start(0);
  });
  xhr.send();
});
Ответ написан
Ваш ответ на вопрос

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

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