Аудио элемент не работает должным образом с Safari - PullRequest
6 голосов
/ 31 декабря 2011

Мне кажется, что в Safari не удается правильно настроить звуковой элемент (v 5.1.2).Я попытался переместить файл в ту же папку, что и страница, используя типы MIME mp3 и mpeg, и изменив имена файлов.Кажется, что он отлично работает во всех других браузерах, но в Safari аудиоэлемент создан, но показывает только то, что он загружается и не воспроизводится.Есть идеи?

<audio controls preload="metadata">
  <source src="audio/song.mp3" type="audio/mpeg" />
  <source src="audio/song.ogg" type="audio/ogg" />
</audio>

Спасибо

Ответы [ 4 ]

8 голосов
/ 25 января 2013

Использует ли ваш сайт недействительный сертификат HTTPS или HTTP-аутентификацию?У меня была эта проблема, но я обнаружил, что у Safari возникли проблемы с моим недействительным сертификатом HTTPS или с базовой аутентификацией (на промежуточном сервере).

2 голосов
/ 18 мая 2012

Safari, похоже, не загружает звуки надежно с помощью preload="metadata".

Вы можете попробовать это в консоли любой веб-страницы:

var snd = document.createElement('audio'), src = document.createElement('source');
src.src = "http://www.largesound.com/ashborytour/sound/brobob.mp3";
src.type = "audio/mpeg";
snd.appendChild(src);
snd.preload = 'metadata';
snd.play();

Это не работает.Тогда:

snd.preload = null;   // equivalent to 'auto'

И вуаля!Он начинает играть.

(Я подал это как rdar: // problem / 11481585, но это не то, что помогает кому-либо из нас.)

0 голосов
/ 07 марта 2018

Да, недействительный сертификат HTTPS или HTTP-аутентификация не работает в Safari (протестировано в настроенном браузере Safari на низкоуровневом устройстве Linux). Чтобы он работал, используйте действующий сертификат https.

0 голосов
/ 29 февраля 2012

Попробуйте установить Apple Quick Time. Я не знаю о настольных версиях, но версии IOS используют QuickTime для воспроизведения звука из Safari.

...