我用WebView
创建了一个基本的UWP应用程序。我导航到以下URL:https://webrtc.github.io/samples/src/content/getusermedia/gum/以测试getUserMedia()
的使用。
我得到的错误是:
getUserMedia错误:NotFoundError
我还添加了功能网络摄像头功能,以为您的应用启用“摄像头”设备。但没有运气。
有谁知道这是否应该可行,以及我是否因此做错了事?有人在UWP getUserMedia
中使用WebView
吗?
最佳答案
您需要在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。
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;
}
});
关于javascript - 通过UWP WebView使用WebRTC getUserMedia的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52713846/