HTML5 Audio воспроизводит в IE, но не в Chrome - PullRequest
0 голосов
/ 10 мая 2018

Я добавил аудио на веб-страницу для воспроизведения после загрузки, что прекрасно работает в Internet Explorer, но не в Google Chrome.

<audio autoplay>
   <source src="gears_01.ogg" type="audio/ogg">
   <source src="gears.mp3" type="audio/mpeg">
 Your browser does not support the audio element.
</audio>

Затем я добавил следующий Javascript и дал элементу аудиоID audioId.Опять же, это прекрасно работало в IE, но все равно ничего в Chrome, если я пару раз не нажму клавиши CTRL и F5 вместе, а затем chrome воспроизведет аудиофайл.

var audio = document.getElementById("audioId");
audio.autoplay = true;
audio.load();

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

ОБНОВЛЕНИЕ: Итак, я обнаружил, что если я загружаю страницу по ссылке, то воспроизводится звук, но если я просто наберу URL-адрес страницыничего не происходит.

1 Ответ

0 голосов
/ 10 мая 2018

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

Вместо использования атрибута autoplay в элементе управления аудио.Используйте событие canplay для элемента.

    var audio = document.getElementById("audioId");
    audio.oncanplay = function(){
        audio.play();
    }
    audio.load();

Когда происходит событие canplay, вызовите play() на аудиоэлементе, чтобы начать воспроизведение.Вы создаете свою собственную автоматическую игру.Просто помните, что если вы не удалите событие, каждый раз, когда управление звуком загружает новый файл и может воспроизводить звук, событие запускается.Я склонен использовать этот метод для большей гибкости при предварительном воспроизведении аудио / видео.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...