Используйте автовоспроизведение для воспроизведения радиостанции с использованием звука HTML5 - PullRequest
2 голосов
/ 10 апреля 2019

Я пытаюсь автоматически запустить веб-радио в файле моего HTML.В настоящее время использование автовоспроизведения не удается, я предполагаю, что радиостанции не хватает времени для загрузки некоторых данных, поэтому автопроигрывание просто блокируется.Я создал функцию setTimeout, чтобы справиться с этим.Теперь функция отказывается запускаться на Firefox и Opera.Журнал ошибок Firefox гораздо более информативен, здесь воспроизводится:

NotAllowedError: Метод воспроизведения не разрешен агентом пользователя или платформой в текущем контексте, возможно, потому что пользователь отказал в разрешении

вот мой фрагмент HTML:

<body>
  <audio controls src="http://5.63.151.52:7136/stream?icy=http" autoplay id="myAudio">
                Your browser does not support the
                <code>audio</code> element.
        </audio>

  <button onclick={goPlay()}>
            Play
        </button>

  <script>
    // function goPlay(){
    //     console.log("in goplay")
    setTimeout(() => {
        var x = document.getElementById("myAudio");
        // function playAudio() {
        x.play();
      },
      1000
    )
    // }
  </script>
</body>

Как справиться с этой ситуацией?

Любой намек был бы великолепен, спасибо

1 Ответ

3 голосов
/ 10 апреля 2019

Ошибка Firefox говорит вам точно, что происходит. Автозапуск не работает, потому что пользователь (или, более конкретно, браузер - см. здесь ) блокирует его.

Любое воспроизведение, которое происходит до того, как пользователь взаимодействует со страницей. с помощью щелчка мыши, нажатия клавиши печати или события касания считается быть автовоспроизведением и будет заблокировано, если оно потенциально слышно.

...