Ошибка обещания звукового тега HTML5 после игры пользователя в Safari - PullRequest
1 голос
/ 01 апреля 2019

У меня есть аудио-тег с src от amazon, и когда я нажимаю кнопку воспроизведения в Safari, обещание не выполняется с ошибкой: «NotAllowedError (исключение DOM 35): запрос не разрешен агентом пользователя или платформой в текущем контексте Возможно, потому что пользователь отказал в разрешении. "

Это работает, если я установил src на какой-нибудь mp3-файл, расположенный на моем сервере. Кто-нибудь знает, что это происходит?

var audio = document.createElement('audio');
audio.src = "https://s3-eu-west-1.amazonaws.com/hitzmania/Xin8nXIPz4YH";

document.getElementById('play').addEventListener('click', function() {

  var promise = audio.play();
  if (promise !== undefined) {
    promise.then(_ => {}).catch(error => {
      alert(error)
    });
  }
  return false;
})
<a href="#" id="play">play</a>
...