#safari #html5-video #html5-audio
#safari #html5-video #html5-аудио
Вопрос:
Используя OSX Safari 9.1.1, я получаю проблему, как описано в названии: paused
свойство всегда верно, даже когда воспроизводится звук.
Я создаю аудио объект следующим образом
this.audio = new Audio();
this.audio.autoplay = false;
this.audio.preload = 'metadata';
this.audio.src = 'https://example.com/audio.mp3';
this.audio.load();
И я протестировал это следующим образом:
console.debug(`Before play: ${this.audio.paused}`);
this.audio.play();
console.debug(`After play: ${this.audio.paused}`);
paused
Свойство всегда будет иметь значение true. Даже когда я вызвал play()
.
Есть идеи?
Комментарии:
1.всегда нравится, даже если вы вызываете
audio.paused
в консоли через некоторое время? в последних версиях whatwgHTMLMediaElement.play()
возвращает обещание (не в w3c), что делает его асинхронным вызовом, хотя я не знаю о последней версии Safari. developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/play2. Да, возвращается
true
даже во время фактического воспроизведения.3. О, на самом деле 9.1.1 не является последним. Я не могу воспроизвести версию 9.1.3 (последняя версия для macos 10.9), а последняя версия — 10.0. (доступна только в macos10 ) Поэтому попробуйте обновить свой браузер:-P
4. Хм, хорошо, как разработчик, это звучит не очень утешительно. Тот факт, что веб-сайт не работает при установке OSX по умолчанию. Я также не могу обновить Safari. Я использую OSX El Capitan, и он не показывает, что какие-либо обновления доступны для Safari.
5. Да, было обновление ОС, и оно работает в Safari 10. Я предполагаю, что это ошибка Safari 9.1.1.
Ответ №1:
Оказалось ошибкой Safari 9.1.1.