Flutter中使用ImagePicker禁用iOS端视频压缩的方法
解决iOS端使用image_picker获取原始视频禁用压缩的问题
要在iOS端避免系统自动压缩视频,只需给pickVideo方法添加videoQuality参数并设置为VideoQuality.maximum,这个参数会告知系统请求相册里的原始视频文件,而非自动压缩后的版本。
修改后的代码如下:
final ImagePicker picker = ImagePicker(); final XFile? video = await picker.pickVideo( source: ImageSource.gallery, maxDuration: const Duration(seconds: 85), preferredCameraDevice: CameraDevice.front, videoQuality: VideoQuality.maximum, // 关键参数:请求原始质量视频 );
补充说明
VideoQuality.maximum会让image_picker向iOS系统请求未经过二次压缩的原始视频文件,彻底规避系统自动压缩逻辑- 建议使用最新稳定版的
image_picker包,旧版本可能对该参数的支持存在瑕疵 - 如果相册中的视频本身就是系统默认压缩格式(比如部分录制的MP4),该参数不会改变视频本身,但能确保你获取到的是相册内的原文件,而非额外压缩后的副本
内容的提问来源于stack exchange,提问作者Marlen Schreiner
相关产品推荐
相关产品推荐

