如何禁用视频压缩-UIImagePickerController,Xamarin.IOS,C#

时间:2018-07-25 11:09:13

标签: c# xamarin xamarin.forms xamarin.ios uiimagepickercontroller

程序: 我目前正在使用UIImagePickerController,该控件可让用户在其设备上选择视频。然后,它检索视频的URL并将其存储。

问题: 用户选择视频时,它将压缩视频。 如何禁用压缩部分?因为我只对url感兴趣,并且如果视频很大,则需要花费很长时间。

我找到了这个答案-https://stackoverflow.com/a/48643954/9764182

但是,对我来说,“ VideoExportPreset”属性需要一个字符串。

代码:我认为我的代码不会有帮助,我确实有一个功能已订阅选择器的完成选择事件。但是,压缩是在触发该事件之前发生的。

MediaPicker = new UIImagePickerController();
MediaPicker.SourceType = UIImagePickerControllerSourceType.PhotoLibrary;
MediaPicker.MediaTypes = UIImagePickerController.AvailableMediaTypes(UIImagePickerControllerSourceType.PhotoLibrary);
MediaPicker.ImageExportPreset = UIImagePickerControllerImageUrlExportPreset.Current;
MediaPicker.VideoQuality = UIImagePickerControllerQualityType.High;
MediaPicker.FinishedPickingMedia += Handle_FinishedPickingMedia;
MediaPicker.Canceled += Handle_Canceled;

1 个答案:

答案 0 :(得分:2)

AVAssetExportSessionPreset提供了一个方便的枚举,可用于从中获取NSString,然后将其转换为C#string

示例:

var MediaPicker = new UIImagePickerController
{
    ~~~~
    VideoExportPreset = AVAssetExportSessionPreset.Passthrough.GetConstant().ToString(),
    ~~~~
};