При воспроизведении видео на мобильных устройствах, браузер может по умолчанию требовать действий от пользователя (нажатие кнопки). Чтобы обойти это ограничение, необходимо использовать функции playFirstSound() (только при воспроизведении в WSPlayer) и playFirstVideo() (при воспроизведении по WebRTC в iOS Safari и по MSE в остальных браузерах):
if (Flashphoner.getMediaProviders()[0] === "WSPlayer") { Flashphoner.playFirstSound(); } else if (Browser.isSafariWebRTC() || Flashphoner.getMediaProviders()[0] === "MSE") { Flashphoner.playFirstVideo(remoteVideo, false, PRELOADER_URL).then(function() { start(); }); return; }
Функция playFirstVideo возвращает Promise, который разрешается, если в указанном видеоэлементе на странице remoteVideo удалось успешно проиграть тестовый фрагмент видео, путь к которому указан константой PRELOADER_URL. Если Promise был разрешен, в данном видеоэлементе на странице может быть запущено воспроизведение видеопотока с сервера. Если Promise был отклонен, воспроизведение не может быть запущено.