Проблема с использованием WebRTC getUserMedia с UWP WebView - PullRequest
0 голосов
/ 09 октября 2018

Я создал базовое приложение UWP с WebView.Я перехожу по этому URL: https://webrtc.github.io/samples/src/content/getusermedia/gum/, чтобы проверить использование getUserMedia().

Полученная ошибка:

getUserMedia error: NotFoundError

Я также добавил функцию веб-камеры Capabilities, чтобы включить устройство Camera для вашего приложения.но не повезло.

Кто-нибудь знает, возможно ли это, и поэтому я что-то не так делаю?Любой, кто использует getUserMedia в UWP WebView?

1 Ответ

0 голосов
/ 09 октября 2018

Вам необходимо разрешить PermissionRequest в PermissionRequested обработчике событий.

В дополнение к приложению, обрабатывающему событие PermissionRequested, пользователь должен будет утвердить стандартные системные диалогидля приложений, запрашивающих местоположение или мультимедийные возможности, чтобы эти функции были включены

MyWebView.PermissionRequested += MyWebView_PermissionRequested;

private void MyWebView_PermissionRequested(WebView sender, WebViewPermissionRequestedEventArgs args)
{
    if (args.PermissionRequest.PermissionType == WebViewPermissionType.Media)
    {
        args.PermissionRequest.Allow();
    }
}

Обновление Для приложения WinJS вы можете обратиться к этому документу .

document.getElementById('live-preview').addEventListener("MSWebViewPermissionRequested", permissionRequestedEventArgs => {
    const permissionRequest = permissionRequestedEventArgs.permissionRequest;
    switch (permissionRequest.type) {
        case "geolocation":
        case "media":
            permissionRequest.allow();
            break;
        case "pointerlock":
        case "webnotifications":
        case "screen":
        case "immersiveview":
        case "unlimitedIndexedDBQuota":
        default:
            permissionRequest.deny();
            break;
    }
});
...