В мире очень мало интернет-пользователей, которым нравится функция автоматического старта разного рода видео на некоторых сайтах. Речь идет о ситуации, когда пользователь открывает определенный сайт, и вдруг, откуда ни возьмись, начинает играть музыка (причем иногда очень громко), а на переднем плане воспроизводится видео с разного рода контентом.

Если открыта 1-2 вкладки, это хотя и проблема, но решить ее можно быстро. Но вот если открыто несколько десятков вкладок (а некоторые пользователи так и делают), то поиск сайта с автопроигрывающимся видео превращается в пытку. Стремясь сделать пребывание в интернете для своих пользователей максимально комфортным, разработчики браузера Chrome добавили функцию блокирования таких объектов. Но вот беда — вместе с видео новая функция блокирует и некоторые веб-игры.

Обновление, о котором говорится выше, было выпущено на выходные. Ему были рады миллионы интернет-пользователей, которых до крайности раздражает автоматическое проигрывание видео или аудио. Но вот с играми возникла проблема — сами они работают нормально, а вот аудио не воспроизводится. Сразу было мало понятно, в чем может быть дело, но затем разработчики обнаружили корень проблемы.

Все дело в том, как Chrome обрабатывает объекты WebAudio. Сейчас браузер просто останавливает активные объекты такого рода. Делается это для борьбы с видео и рекламой, но вот браузерные игры (много их) содержат WebAudio элементы. И они тоже останавливаются. Для того, чтобы исправить ситуацию, разработчикам нужно добавить возможность рестарта аудиообъекта в момент, когда пользователь начинает игру. Ранее это не было необходимо, поскольку никаких проблем с постоянно активными объектами не возникало.

«Разработчикам стоит ознакомиться с новой политикой, определяющей правила обработки функции автовоспроизведения, без разрешения пользователя теперь это сделать нельзя», — говорится в заявлении Google. «В браузерной игре новая функция может останавливать Web Audio. Мы рассказали разработчикам, как можно решить проблему».

Плохо то, что теперь разработчикам тысяч браузерных игр придется модифицировать свои проекты, для того, чтобы они соответствовали новым правилам. При этом компания рассказала о достаточно-таки масштабном и важном нововведении лишь в своей документации, а не в традиционных каналах связи. И это причина того, что сейчас многие разработчики игр недовольны — ведь им придется следить за технической документацией, публикуемой корпорацией. А документов выходит довольно много, так что это требует значительных временных затрат.

Информация о Web Audio была опубликована в феврале, но ее читают далеко не все (большинство разработчиков, не связанных с Google, не знакомились с ней). В итоге, как и говорилось выше, тысячи разных игр теперь не работают или плохо работают в браузере Chrome. Правда, корпорация позаботилась о том, чтобы включить около 1000 сайтов в белый список, который не затрагивает новая политика — аудио проигрывалось и будет проигрываться (это, например, YouTube).

Изменить свой проект для того, чтобы он соответствовал новой политике не так сложно, но это подразумевает, что у разработчика должен быть доступ к исходному коду игры и серверам, где хостится проект. А это невозможно для игр, создатели которых прекратили их поддерживать. Разработчикам, возможно, все равно, но вот пользователей у многих тайтлов порядочное количество, а теперь они ничего не смогут поделать — разве что, заменить браузер, что не всегда удобно.

Проблема еще в том, что все сказанное касается не проприетарных технологий компании, а стандарта HTML5, который является открытым для всех разработчиков. Таким образом, большое количество работников ИТ-индустрии столкнулась с оповещением по факту, хотя само понятие открытости должно помогать таких ситуаций избегать.

Ситуация, что старое ПО прекращает работать в новых браузерах или ОС нередка. Это случилось уже с играми и приложениями, базирующимися на платформе Adobe Flash, с 32-битными приложениями на iOS, которые не работают, поскольку система 64-х битная. Таких примеров немало, и подобные ситуации будут случаться. Но тем, кто отвечает за разработку открытых стандартов, следует быть более осторожными.

Комментарии (39)


  1. nathanael
    13.05.2018 04:32
    +10

    И всё равно борьба с проигрыванием видео и аудио правильная и нужная, задрали.
    Кощунственно говорить на ресурсе для погромистов, но пусть лучше страдают они(погромисты), чем пользователи которые не играют в игры.
    Программы для пользователей, а не пользователи для программ.


    1. Hellsy22
      13.05.2018 10:50
      +1

      Никто не должен был страдать, ни пользователи, ни разработчики — эта борьба могла бы быть гибко настраиваемой, как это уже давно сделано в аддонах к тому же Хрому.


      1. nathanael
        13.05.2018 12:04

        Да хоть занастраивайтесь у себя на машине, суть в дефолтах и ставить ещё один аддон на хром мне и многим другим не хочется.

        Никто не должен был страдать, ни пользователи, ни разработчики
        Может вы ещё скажете про «мир во всём мире» и другие очевидные вещи?
        Ну и конкретно Chrome это совсем не про гибкость, за гибкостью в другие браузеры пожалуйста.


        1. TheShock
          13.05.2018 13:13

          ставить ещё один аддон на хром мне и многим другим не хочется
          Странный вы, ну очевидно ведь, что аддон — это лишь пример того, что в оригинальном хроме можно было сделать по уму.


        1. fdroid
          13.05.2018 16:47

          за гибкостью в другие браузеры пожалуйста.

          например, в Edge.


        1. fukkit
          13.05.2018 16:57

          Вполне себе про гибкость, только гнуть будут вас.


      1. mikhaelkh
        13.05.2018 12:35

        Вернуть как было пока можно, изменив chrome://flags/#autoplay-policy на No user gesture is required


  1. kvazimoda24
    13.05.2018 08:16
    +8

    Т.е. Гугл сам включил автовоспроизведение на своём Ютубе, чем подал дополнительный пример, что так можно. А теперь криво функции в браузер добавляет. Да ещё и белые списки сайтов… Может стоит начать с себя и выпилить автовоспроизведение в Ютубе.


    1. wxmaper
      13.05.2018 10:08
      +1

      Когда вы заходите на ютуб или на канал ютуба, то вы уже знаете куда зашли и знаете чего ожидать там (в настройках канала, кстати, можно отключать автовоспроизведение, насколько я помню, но это не точно). Это сервис такой специфический и ему позволительно такое поведение. А когда заходишь на какой-нибудь блог домохозяйки или в интернет-магазин чтобы посмотреть конкретный товар, то там это автоматическое видео неуместно и нафиг не нужно.
      Ну такое мое мнение.


      1. SergeyMax
        13.05.2018 11:07
        +6

        Здесь грань очень тонкая. Разработчик новостного сайта тоже уверен, что вы знаете, куда зашли, и поэтому считает прямо-таки необходимым врубить онлайн-трансляцию. А вы вот наверняка так не считаете.


      1. JohnDoe_71Rus
        13.05.2018 20:38

        беда такая, в гугл аккаунт не залогинен. А ютуб открываю в приватном режиме Firefox. И сильно раздражает что приходится каждый раз выключать крыжик проиграть следующий и громкость всегда на максимум.


      1. alff31
        13.05.2018 21:45
        +2

        Я иногда открываю какоё-то канал посмотреть список видео и бесит «заглавное», которое начинает показываться, хотя оно мне нафиг не сдалось. Или посмотреть коменты/описание видео, а видео автоматом начинает воспроизводится, хотя тоже нафиг не сдалось.


        1. dimonoid
          13.05.2018 21:59

          Справа вверху можно отключить автоплей.


          1. sumanai
            14.05.2018 04:56

            Состояние этого ползунка постоянно сбрасывается.


      1. x67
        13.05.2018 22:12

        Когда заходишь порно посмотреть, автовоспроизведение рекламы казино также неуместно


  1. Barafu_Albino_Cheetah
    13.05.2018 09:14

    Долбаный Гугл уже стал превыше обратной совместимости. Не удивлюсь, если в следующем Андроиде весь нынешний софт не будет работать. Обновляйтесь!

    Вот на какой браузер перейти, чтобы были и возможности сохранения ресурсов по отдельности, и адблок, и чтобы они не считали фатальную регрессию достоинством ???


    1. Incidence
      13.05.2018 09:24

      вот только хотел посоветовать фф, как вспомнил, что переход на Квантум убил нафиг все аддоны :(


      1. dimonoid
        13.05.2018 19:38

        Аддоны в FF были убиты только в течении ~3 месяцев после обновления, на сегодня всё те чего мне не хватало уже адоптировали под Квантум, включая new tab on right click.


        1. arheops
          13.05.2018 20:52

          Да нет, до сих пор нет, например, аддона на поиск пароля для этой странички. И еще пара у меня так и не работает.


        1. sumanai
          14.05.2018 04:58

          Вы просто не пользовались теми дополнениями, которые на полную катушку использовали XUL и в принципе невозможны в новых дополнениях.


        1. nidalee
          14.05.2018 06:00

          Сколько-нибудь адекватного downloader-а (типа DownThemAll) так и не придумали — приходится все качать в одну и ту же папку и в один поток. Прям на 10 лет назад откатился.
          Группы вкладок постоянно ломаются из-за того, что критический баг типа dataloss уже 3 месяца исправлять не хотят. Зато прикрутили рекламу на новых пустых вкладках. Приоритеты, они такие. Даже не понимаю, зачем еще сижу на этом браузере…


    1. Massacre
      13.05.2018 11:59

      Pale Moon. Правда, с сайтами, заточенными под хром, могут быть проблемы… В этом случае, подберите вариант Chromium на ваш вкус.


      1. mikhaelkh
        13.05.2018 12:25
        +1

        Позиция разработчиков Ru AdList:

        PM вообще забавный браузер. Его фактически тащит один разработчик в одно рыло. Одного разработчика для поддержки такой огромной кодовой базы в приемлемом состоянии катастрофически мало и потому браузер постепенно идёт вразнос при попытках адаптировать под него патчи безопасности с Firefox и добавить свои хрен знает как работающие фичи. Не удивительно, что на нём ничто не работает так, как должно.

        Один раз это уже закончилось тем, что автор просто плюнул и перенёс свои наработки на более новый ESR Фокса. Сейчас история повторяется и автор пилит Basilisk на основе Firefox 52 ESR. Вот только беда в том, что это последняя версия Firefox с поддержкой XUL и последняя же без наработок из Servo. И дальше ему останется только вкорячивать XUL обратно в Firefox, что лишь увеличит общее количество косяков на квадратный метр. В совершенно новый Firefox уже со всеми наработками из Servo. И не только XUL, но ещё и старое API для расширений, которое тоже выкинули. Удачи ему и здоровья, они ему пригодятся.

        В общем, я категорически не рекомендую им пользоваться, как и любым другим форком Firefox. В лучшем случае они просто тормозят с патчами безопасности, как это делает Waterfox, а в худшем постепенно его ломают.


        1. Massacre
          13.05.2018 17:13

          В действительности, на нём работает всё, что работало на FF ESR соответствующей версии «платформы», для обычных сайтов хватает с головой. Новые релизы выпускаются с частотой, примерно равной FF ESR. Автор не плюнул, а создал новую ветку для любителей интерфейса Australis. На его будущее после завершения жизненного цикла FF 52 ESR, конечно, будет интересно посмотреть, но альтернативой будет только хром и производные, потому что у Mozilla на Servo уже совсем не FF получился, с этим куцым API для расширений и вкладками, жрущими по нескольку гигов. А FF без расширений лично мне не нужен.


    1. Ezhyg
      13.05.2018 15:22

      SRWare Iron (но с расширениями).


  1. MedicusAmicus
    13.05.2018 09:44

    А почему не сделать авторестарт веб-аудио на активной вкладке/переключении? Средствами браузера.
    Конечно, срочно фиксить код 100500к веб-игр проще. "Проблема не у нас".


    1. Evir
      13.05.2018 11:28

      Ага. Навскидку — сохранять список остановленных элементов, и добавлять значок в адресную строку о наличии остановленного воспроизведения. При нажатии на значок и подтверждении пользователем — восстанавливать состояние остановленных элементов. Думаю, это было бы совсем несложно реализовать. Там же (в подтверждении) добавить кнопку «больше не останавливать на этом домене».


  1. wxmaper
    13.05.2018 10:04
    +8

    А что помешает производителям этой самозапускающейся рекламы и видео, следуя технической документации гугла, сделать повторное автопроигрывание? Точно так же, как это рекомендуют сделать игроделам? Или гуглеры надеются, что рекламщики не будут заморачиваться? Так скорее наоброт, игроделы забьют, но рекламщики — да никогда, они в первую очередь будут искать обходные костыли.


    1. vilky
      13.05.2018 15:33

      В смысле, сделают, чтобы аудио в их рекламе начинало воспроизводиться, когда вкладка становится активной или когда пользователь разрешит воспроизведение? Пусть делают, это намного лучше, чем орущее видео, игры или реклама в неактивной вкладке.


    1. demimurych
      13.05.2018 15:40

      Суть в том что, в настоящий момент проиграть звук автоматически по своему желанию например вот так

      var audio = document.getElementById('music');
      audio.src = 'my.mp3';
      audio.play();


      стало невозможно. Но если вы это обернете в событие которое связано с взаимодейтсвием с пользователем — например click(насчет других событий нужно исследовать) то звук запустится.

      То есть при данном подходе, реклама не может включить звук когда ей хочется. Вроде бы все неплохо, но для игр это превращается в ад. Когда нужно разрабатывать жуткие хаки для того чтобы включить нужный звук в нужное время.

      В данном контексте я не пойму главного, Разработчики Хрома не застали те времена, когда весь сайт накрывали прозрачным слоем для того чтобы получить тот самый нужный клик?


  1. Imp5
    13.05.2018 11:26
    +2

    Что им мешало просто временно глушить звук? Зачем было останавливать объект WebAudio?


  1. kvazimoda24
    13.05.2018 11:41
    +2

    Хотелось бы увидеть тот белый список. Присутствуют ли там конкуренты Ютуба?


  1. molnij
    13.05.2018 16:40

    Но вот если открыто несколько десятков вкладок (а некоторые пользователи так и делают), то поиск сайта с автопроигрывающимся видео превращается в пытку.

    Скажите, кто-нибудь сталкивался с такой проблемой в жизни? Кроме ютуба, который конкретно задрал делать автостарт при входе на канал.
    Или хромовцы в очередной раз решили проблему которую сами придумали?


    1. Dvlbug
      13.05.2018 18:55

      Lenta.ru


    1. JohnDoe_71Rus
      13.05.2018 20:43

      рбк в углу автоматом пускает трансляцию


  1. Neikist
    13.05.2018 16:58

    Дико удивился, последние пару лет на огнелисе ни разу даже ютуб в фоне не запускался.


  1. RolexStrider
    13.05.2018 22:22

    А вот автопроигрывание видео, да еще и со звуком — неплохо бы добавить в список (ну пусть не смертных), но тяжелых грехов. Целиком поддерживаю.


  1. profesor08
    14.05.2018 01:43

    Хочется посмотреть на красивое портфолио какого-то разработчика, заходишь, а там ничего не работает. Просто потому, что гуглу так захотелось. Но проблему автоматического воспроизведения всякой дряни это не решает. Например воспроизвести фоновое видео можно иными средствами. Фоновое аудио вообще непонятно как работает, то работает, то нет, такое ощущение, что зависит от какого-то внутреннего таймера. Но для старта всякой дряни достаточно шваркнуть мышкой по окну, ведь она уже вся загружена и полностью готова.


  1. musicriffstudio
    14.05.2018 09:54

    Из истории вопроса — много лет пользователи просили запретить автовоспроизведение аудио и видео т.к. всех достала реклама которая начинает орать при заходе на сайт или вываливать бесполезные видеоролики закрывая текст статей.

    Эппл сделал такое для мобильного Сафари — аудиоконтекст находится при старте в состоянии паузы и его можно разблокировать только из события клика по элементу страницы.

    Легко обходится, как указано выше, обязательно обход будет реализован во всех рекламных скриптах, но тем не менее.

    Гугл решил соригинальничать. Вот так было объявлено изменение
    developers.google.com/web/updates/2017/09/autoplay-policy-changes
    — аудиоконтекст блокируется, но по какому-то собственному алгоритму (на который пользователь не может влиять) некоторые сайты для каких-то пользователей разрешают автозапуск звука.

    В результате не просто сломана совместимость, теперь ещё неизвестно как будет вести себя браузер у конкретного пользователя.

    В комментариях гениям браузеростроения пытаются объяснить — всем нужен переключатель в заголовке вкладки — включить/выключить аудио. Решать за пользователей не надо, алгоритмы и машинное обучение не надо, ничего не надо. Вообще. Нужна свобода выбора.

    Разработчики пытаются донести масштаб проблемы
    bugs.chromium.org/p/chromium/issues/detail?id=840866
    — переделка всего (это не только бесполезные демки, всё что касается электронных уроков, презентаций, киосков услуг — всё сломалось) потребует значительных вложений.