Начиная с Safari 11, блокируя автовоспроизведение HTML5 Audio, это означает, что он также блокирует такие функции, как: повтор, случайное воспроизведение или список воспроизведения?

В прошлом году Safari 11 заблокировал автовоспроизведение для аудио HTML5: https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/

  • Большая часть информации касается автовоспроизведения видео, которое разрешено, если отключен звук.
  • Автовоспроизведение аудио не разрешено, и это нормально.

Пользователю необходимо выполнить действие (щелчок / касание) для воспроизведения, что также нормально, но .... это блокирует любую функцию списка воспроизведения для воспроизведения следующей дорожки, воспроизведения в случайном порядке или повторения, поскольку они считаются автоматическим воспроизведением, даже если пользователь выполнил действие изначально.

Есть ли какое-либо решение для аудиофункций, таких как плейлисты (для автоматического воспроизведения следующей дорожки) или повтор для Safari?

Поскольку был запрошен код: https://github.com/arielfaur/ionic-audio/tree /3.0

Демо: https://arielfaur.github.io/ionic-audio-demo/ Попробуйте создать список воспроизведения и позволить ему воспроизвести следующий трек.

Chrome выглядит следующим образом: https://sites.google.com/a/chromium.org/dev/audio-video/autoplay


person August    schedule 28.03.2018    source источник
comment
Хм... это интересно... Уверяю вас, это возможно. Примером может служить YouTube.   -  person gsquaredxc    schedule 28.03.2018
comment
@Kaiido Да, через js.   -  person August    schedule 28.03.2018
comment
Если я не ошибаюсь, ваше утверждение неверно. Как только MediaElement помечен жестом пользователя как разрешенный, вы можете полностью взаимодействовать с ним позже. Хитрость заключается в повторном использовании того же элемента, который получил одобрение.   -  person Kaiido    schedule 28.03.2018
comment
@GrantGarrison: Вы правы, просто потому, что Safari разрешил это специально для некоторых веб-сайтов;) один из них — YouTube.   -  person August    schedule 28.03.2018
comment
Не закроется, пока вы не согласитесь, но взгляните на stackoverflow.com/questions/46483001/   -  person Kaiido    schedule 28.03.2018
comment
@Kaiido: Если задействовано какое-либо обещание, воспроизведение не разрешено, независимо от того, был ли нажат MediaElement. Любой повтор, перетасовка, плейлист следующего трека подразумевает обещание.   -  person August    schedule 28.03.2018
comment
@Kaiido не должен редактировать OP, чтобы добавить JavaScript?   -  person gsquaredxc    schedule 28.03.2018
comment
@Kaiido: Это видео, видео разрешено, здесь мы говорим об аудио.   -  person August    schedule 28.03.2018
comment
Итак, player очищается, поэтому я заменил его на javascript. Если есть обман, который должен помочь @Augustin   -  person gsquaredxc    schedule 28.03.2018
comment
Нет, это ограничение не установлено на уровне MediaElement. Вы можете воспроизводить аудиофайлы в формате <video>. Я абсолютно не понимаю, что вы говорите о обещании. Это ограничение вступит в силу, как только вы вызовете play внутри доверенного события, и на протяжении всей жизни этого элемента, даже если вы измените его src.   -  person Kaiido    schedule 28.03.2018
comment
@Kaiido: если видео не отключено, оно не воспроизводится автоматически, поэтому звук в ‹видео› не допускает автовоспроизведения.   -  person August    schedule 28.03.2018
comment
Если MediaElement был одобрен жестом пользователя, вы можете делать с ним все, что хотите... отключать звук или нет. jsfiddle.net/m0da04at   -  person Kaiido    schedule 28.03.2018
comment
попробуй оперу мини. Это прекрасно работает. Opera mini в iOS по умолчанию поддерживает автозапуск, в то время как Chrome, Firefox и Safari не поддерживают и не предлагают варианты включения.   -  person anonymous    schedule 07.05.2018
comment
Просто разглагольствую, но на самом деле я использовал несколько аудиотегов для обхода ошибок в браузерах, которым не нравилось, что я меняю src, связанный с такими вещами, как createMediaStreamSource. Надеюсь, эти ошибки исправлены, и я смогу адаптировать свое приложение для использования только одного аудиоэлемента.   -  person gman    schedule 06.06.2018