SuperAPI AI 工具集

maui-media-picker

编程与开发

查看项目

更新于 10-15 20:34

技能介绍

该资料是 .NET MAUI MediaPicker 的使用指南,重点介绍常见错误、平台陷阱与决策方法。用途包括:选择单张或多张照片/视频(多选需 .NET 10+)、调用相机拍摄、处理返回的 FileResult 与流,以及配置各平台权限。

主要能力与用法:PickPhotoAsync() 选单张;PickPhotosAsync() 配合 SelectionLimit 选多张;CapturePhotoAsync() 拍照,调用前需检查 IsCaptureSupported;通过 MediaPickerOptions 可设置 PreserveMetaData 保留元数据;用 OpenReadAsync() 读取流,必要时复制到 FileSystem.AppDataDirectory 永久保存。所有 MediaPicker 方法必须在 UI 线程调用,否则可能抛异常;单选取消失时返回 null,多选取消失时返回空列表,需判空;流需用 using 释放。

平台限制:SelectionLimit 在 Android/Windows 上仅为建议,需自行校验数量;Android 存储权限在 API 33 分界,API ≤32 需 READ_EXTERNAL_STORAGE/WRITE_EXTERNAL_STORAGE(建议加 android:maxSdkVersion="32"),API ≥33 需 READ_MEDIA_IMAGES/READ_MEDIA_VIDEO;iOS 需在 Info.plist 配齐 NSCameraUsageDescription、NSMicrophoneUsageDescription、NSPhotoLibraryUsageDescription、NSPhotoLibraryAddUsageDescription 四个键,缺失会导致运行时崩溃;Android 11+ 需在 AndroidManifest.xml 添加 IMAGE_CAPTURE 的 <queries> 块,否则拍照可能静默失败。资料还附有检查清单,涵盖 UI 线程、判空、能力检测、流释放、清单权限与多选数量校验。