.NET MAUI Windows平台Media Picker返回null且无法打开相机求助
Windows平台MAUI相机Picker返回null且无法打开的解决方案
以下是针对该问题的常见排查和解决步骤:
检查权限配置
Windows平台必须声明相机权限才能正常调用相机。打开项目中的Package.appxmanifest文件,确认已添加摄像头权限:<Capabilities> <DeviceCapability Name="webcam" /> </Capabilities>如果使用可视化编辑器编辑清单,直接勾选“网络摄像头”选项即可。权限缺失会导致相机无法启动,直接返回null。
确认Picker调用逻辑
确保调用PickPhotoAsync时指定了相机模式,正确代码示例:var pickOptions = new MediaPickerOptions { Title = "拍摄照片", PickerMode = PickerMode.Camera }; var result = await MediaPicker.Default.PickPhotoAsync(pickOptions);若未设置
PickerMode.Camera,可能会默认打开图片选择器而非相机;误用PickVideoAsync也会导致相机无法按预期启动。验证系统和SDK版本
确保Windows系统版本在10.0.17763.0(Windows 10 1809)及以上,同时使用的.NET MAUI SDK版本不低于.NET 7,旧版本存在相机选取器的兼容性问题。检查系统权限设置
如果首次调用相机时拒绝了权限请求,需要手动开启:打开Windows设置→隐私和安全性→相机,找到你的MAUI应用并开启相机权限。排查平台代码冲突
若项目中有自定义的Windows平台特定代码,检查是否存在覆盖MediaPicker实现、或占用相机资源的逻辑,这类冲突会导致相机无法被Picker正常调用。
参考微软官方的.NET MAUI设备媒体选取器(Windows平台)文档。
内容的提问来源于stack exchange,提问作者Gajendra Singh
相关产品推荐
相关产品推荐

