You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET 使用 WebView2 如何默认开启摄像头与麦克风访问权限

WebView2 默认授予麦克风/摄像头权限解决方案

核心实现基于官方提供的CoreWebView2.PermissionRequested事件,该事件会在WebView2加载的页面请求各类权限(包括摄像头、麦克风、通知、地理位置等)时触发,开发者可直接在事件回调中指定权限处理结果,无需用户手动确认。

实现步骤

  1. 先确保WebView2完成CoreWebView2的初始化,再绑定权限请求事件
  2. 在事件回调中判断权限类型,麦克风、摄像头类请求直接设置为允许,标记事件已处理即可

代码示例(C#)

绑定事件

// 等待WebView2核心初始化完成
await webView2.EnsureCoreWebView2Async();
// 注册权限请求事件监听
webView2.CoreWebView2.PermissionRequested += PermissionRequestedHandler;

事件处理逻辑

private void PermissionRequestedHandler(object sender, CoreWebView2PermissionRequestedEventArgs e)
{
    // 匹配麦克风、摄像头权限类型
    if (e.PermissionKind is CoreWebView2PermissionKind.Microphone or CoreWebView2PermissionKind.Camera)
    {
        // 直接允许权限
        e.State = CoreWebView2PermissionState.Allow;
        // 标记事件已处理,拦截系统默认的权限请求弹窗
        e.Handled = true;
    }
}

注意事项

  • 如需限制仅特定域名可调用设备,可增加域名校验逻辑:if (e.Uri.StartsWith("https://你的业务域名.com")) 再执行放行操作,降低安全风险
  • WebView2 SDK版本需高于1.0.1018-prerelease,建议使用1.0.1054.31及以上稳定版本,避免API兼容问题
  • 桌面应用本身需要先获取Windows系统层面的麦克风、摄像头访问权限,可进入系统「设置-隐私和安全性」,找到对应应用确认设备权限已开启,否则WebView2内部放行也无法正常调用硬件

内容的提问来源于stack exchange,提问作者Sleiman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 05:54:04