getDisplayMedia () работает неправильно на устройстве Android - PullRequest
0 голосов
/ 07 января 2020

Мне нужно подключить пользовательские средства отображения (захват экрана) к приложению webRT C.

Следующий код используется для запуска захвата экрана:

navigator.mediaDevices.getDisplayMedia({video: true})

Это запрашивает Пользователь о снимке экрана и создает видеопоток, который может быть использован после получения разрешения. Однако я не смог запустить его на устройствах iOS или Android.

iPad, на котором я тестировал этот продукт, не смог найти navigator.mediaDevices.getDisplayMedia - undefined (iOS 13.3)

Chrome (v79) на Android показывает следующую ошибку при попытке вызвать ее:

DOMException: недопустимое состояние

в соответствии с этим: https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia ошибка может быть сгенерирована, если код не был инициирован действием пользователя, но это не должно быть проблемой в моем случае, так как код вызывается так:

startScreenSharing = event => {
 navigator.mediaDevices.getDisplayMedia({video: true})
}

<Button onClick={this.startScreenSharing} />

Переменная event содержит допустимое событие, но я все еще получаю ошибку «Invalid State».

Это должно быть что-то, чего мне не хватает, так как она отлично работает на рабочем столе Chrome & Safari.

Редактировать

Я сталкивался с этим: Демонстрация getDisplayMedia и запись экрана и с той же ошибкой, сгенерированной на этой веб-странице. Это может быть связано с настройками моего аппаратного устройства?

1 Ответ

0 голосов
/ 26 апреля 2020

getDisplayMedia () не поддерживается на android и iOS.

По ссылке поддерживается в iOS Safari (13)

...