Оповещения о заглушенном аудио при автозапуске воспроизведения¶
В настоящее время в абсолютном большинстве браузеров при автоматическом запуске воспроизведения звук должен быть заглушен (mute). Для включения звука требуется действие пользователя: нажатие на кнопку в браузере, перемещение ползунка регулировки громкости и т.п. На стороне клиентского кода при этом необходимо каким-то образом узнать состояние видео элемента, в котором браузер проигрывает видео: заглушено аудио или нет.
В связи с этим, в сборке WebSDK 2.0.241 добавлен тип события потока STREAM_EVENT_TYPE.UNMUTE_REQUIRED
. При получении такого события можно отобразить кнопку включения звука, которую пользователь должен нажать, например
stream = session.createStream(options).on(STREAM_STATUS.PENDING, function (stream) {
...
}).on(STREAM_EVENT, function(streamEvent){
if (STREAM_EVENT_TYPE.NOT_ENOUGH_BANDWIDTH === streamEvent.type) {
...
} else if (STREAM_EVENT_TYPE.RESIZE === streamEvent.type) {
...
} else if (STREAM_EVENT_TYPE.UNMUTE_REQUIRED === streamEvent.type) {
console.log("Stream is muted by autoplay policy, user action required to unmute");
$("#unmute").show();
}
});
stream.play();
Пример обработки нажатия кнопки Unmute