Я работаю над прогрессивным веб-приложением, которое в основном используется на настольных компьютерах и Android для воспроизведения музыки. На ПК все нормально работает. На Андроиде вдруг перестало работать. После некоторого исследования я нашел это обновление, касающееся изменение политики автовоспроизведения в Chrome.
Суть в том, что вы больше не можете просто воспроизводить мультимедиа без взаимодействия с пользователем.
До этого обновления у меня был свой AudioContext, который создается onload
, а затем просто используется. Это больше не работает.
В сообщениях об обновлении говорится следующее:
AudioContext должен быть создан или возобновлен после того, как документ получил жест пользователя, чтобы включить воспроизведение звука.
Поэтому я внес некоторые изменения в .suspend()
и .resume()
контекст соответственно onPlay
и onPause
моего приложения.
На ПК это все еще работает, на Android - нет. Я что-то упускаю?
Изменить 1:
Я нашел этот сайт, на котором написано следующее:
В соответствии с новой политикой медиа-контент будет разрешен для автовоспроизведения при следующих условиях:
а) Контент отключен или не содержит звука (только видео)
б) Пользователь коснулся или щелкнул где-нибудь на сайте во время сеанса просмотра.
c) На мобильном устройстве, если сайт был добавлен на главный экран пользователем.
г) На компьютере, если пользователь часто воспроизводил мультимедиа на сайте, согласно Индексу взаимодействия со СМИ.
Я понимаю, что это правда, если одно из этих совпадений. В моем случае б) и в) выполнены. Полагаю, это должно работать?
state
. Если установлено"suspended"
, ничего не предпринимайте. - person Kaiido   schedule 08.05.2018