Safari не будет воспроизводить <audio>, если файл .ogg будет первым в списке? - PullRequest
2 голосов
/ 23 февраля 2011

У меня есть аудиообъект с двумя источниками в форматах M4A и OGG.

Код выглядит следующим образом:

<audio id="audio1" controls="controls" preload="none">
<source src="music.m4a" />
<source src="music.ogg" />
</audio>

Затем я могу вызвать document.getElementById ('audio1') .play () и начинает играть.

Хорошо работает во всех браузерах.Но в Safari он работает только в том случае, если файл M4A является первым источником.

То есть, если сначала у меня есть этот код с файлом OGG:

<audio id="audio1" controls="controls" preload="none">
<source src="music.ogg" />
<source src="music.m4a" />
</audio>

Safari не будет реагировать на воспроизведение() Вызов JavaScript, только щелчком мыши по кнопке воспроизведения.

Есть ли какое-либо решение, кроме того, чтобы всегда ставить файл M4A первым?

Спасибо!

Ответы [ 2 ]

1 голос
/ 30 мая 2011

Вы пытались сообщить браузеру, какой тип MIME вы используете.

Используйте «audio / mp4» в качестве типа MIME (не забудьте добавить его в свой .htaccess)

<audio id="audio1" controls="controls" preload="none">
<source src="music.oga" type="audio/ogg" />
<source src="music.m4a" type="audio/mp4" />
</audio>
0 голосов
/ 21 февраля 2016

Может быть, сначала попробуйте добавить файл EMPTY.m4a?.5 сек нет шума?У меня были проблемы с .ogg на сафари.Я никогда не думал попробовать другой тип файла 1-го.Это, вероятно, решит мою проблему.Благодарю.Моя проблема заключалась в пробелах в файлах .mps.Поэтому я перешел на .ogg.Добавление пробела по умолчанию .m4a может помочь вашей проблеме.Мне любопытно узнать, работает ли это, напишите в любом случае.

...