Выключить автозапуск для аудиоэлемента на рабочем столе Chrome 71 - PullRequest
0 голосов
/ 25 января 2019

Я добавляю аудио элемент на сайт, и он должен автоматически воспроизводиться при загрузке страницы.В Chrome 71 было несколько обновлений , которые в некоторых случаях должны отключать автозапуск аудио и видео (если пользователь не взаимодействовал со страницей или страница не является частой и часто воспроизводит видео).и т. д.). chrome: // media-engagement / показывает оценку активности пользователей Chrome для различных веб-сайтов (в зависимости от того, сколько раз они посещали и смотрели видео).

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

Проблема в том, что я не могу показатьсячтобы получить Chrome, чтобы предотвратить автоигру.До сих пор я пробовал (все на Mac, если не указано иное):

  • После входа в систему перейдите непосредственно к URL (в том же окне после жесткого обновления / очистки кэша и в новом окне)
  • Посещение его как другого пользователя Chrome и как гостя (оба из которых не имеют оценки активности веб-сайтов)
  • настройка chrome: // flags # autoplay-политика до Требуется активация пользователя документа. и проверка вышеперечисленного (это кажется несуществующим)
  • Проверка всего вышеперечисленного на компьютере другого человека, который никогда не посещал сайтдо
  • Тестирование всего вышеперечисленного на BrowserStack Chrome 71 в Windows

Я не уверен, что еще можно сделать на этом этапе, кто-нибудь знает, как лучше заставить Chrome предотвратитьэтот звук из автоигры, или создать ситуацию, в которой это произойдет?

Вот HTML-код аудиоэлемента:

<div id="intro_player_wrapper">
  <audio id="intro_player" controls="controls">
    <source id="audio_intro_mp3_src" type="audio/mpeg" src="audio_source.mp3" /></source>
    <source id="audio_intro_wav_src" type="audio/wav" src="audio_source.wav" /></source>
  </audio>
</div>

Вот javascript, который запускает автоигру:

var autoplay_interval = window.setInterval(function() {
    var promise = $("#intro_player").get(0).play();
    if (promise !== undefined) {
        promise.then(_ => {
            intro_audio_played = true;
            clearInterval(autoplay_interval);
        }).catch(error => {
            console.log("Autoplay was prevented.");
        });
    }
}, 1000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...