在Expo-image-picker中,当使用Android设备拍摄视频时,由于默认情况下使用高清分辨率,视频大小会变得非常大。为了减小文件大小,可以修改参数来限制视频的分辨率和帧率。实现代码如下:
let video = await ImagePicker.launchCameraAsync({
mediaTypes: ImagePicker.MediaTypeOptions.Videos,
videoQuality: ImagePicker.VideoQuality["480p"],
allowsEditing: true,
aspect: [4, 3],
});
在上述代码中,我们使用了videoQuality
参数来指定视频的质量。我们将其设置为“480p”,这意味着视频将具有480像素的高度,因此产生的文件大小要小得多。
此外,我们还可以使用maxDuration
参数来指定视频的最大持续时间。这将限制拍摄的视频长度,从而减小生成的视频文件大小。
let video = await ImagePicker.launchCameraAsync({
mediaTypes: ImagePicker.MediaTypeOptions.Videos,
videoQuality: ImagePicker.VideoQuality["480p"],
allowsEditing: true,
aspect: [4, 3],
maxDuration: 60, // 设置最大持续时间60秒
});
通过以上代码,可以有效减小生成的视频文件大小并节省存储空间。