Не работает захват экрана в Safari 14

Prodamus

New Member
Добрый день.

По инструкции пытаемся сделать захват экрана в safari 14, однако при старте получаем ошибку
InvalidAccessError: getDisplayMedia must be called from a user gesture handler

Подскажите, пожалуйста, в какую сторону копать.
 

Attachments

Max

Administrator
Staff member
Ошибка говорит о том, что нужен жест пользователя чтобы начать публикацию потока.

Т.е. по клику на кнопку "Start" надо сначала вызвать playFirstVideo, и далее стартовать стрим.

Посмотрите как оработает playFirstVideo в примере Two Way Streaming
 

Prodamus

New Member
Ошибка говорит о том, что нужен жест пользователя чтобы начать публикацию потока.
Речь про публикацию на десктопах, а по ссылке про воспроизведение на мобилах.

Посмотрите как оработает playFirstVideo в примере Two Way Streaming
Данный пример при начале публикации в сафари так же берет камеру, а не экран.
 

Max

Administrator
Staff member
Речь про публикацию на десктопах, а по ссылке про воспроизведение на мобилах.
Десктопного Safari это также касается, но об iOS Safari спрашивают чаще, поскольку таких устройств значительно больше на руках у конечных пользователей.
Оба браузера работают одинаково - чтобы захватить WebRTC поток с HTML5 video элемента, либо проиграть поток в таком элементе, необходимо предварительно проиграть в нем короткий ролик и отловить возможные исключения. Для этого и предназначена функция playFirstVideo
Данный пример при начале публикации в сафари так же берет камеру, а не экран.
Посмотрите, пожалуйста, пример Screen Sharing и его исходный код на GitHub
Если проблема не воспроизводится в этом примере, возьмите его код как образец
 
Top