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

How to disable video compression - UIImagePickerController, Xamarin.IOS, C#

程序: 我目前正在使用 UIImagePickerController,它允许用户 select 在他们的设备上播放视频。然后检索视频的 URL 并存储它。

问题: 当用户 select 播放视频时,它会压缩视频。 如何禁用压缩部分?因为我只对url感兴趣,如果视频很大,需要很长时间。

我找到了这个答案 -

但是,对我来说 "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;

AVAssetExportSessionPreset 提供了一个方便的枚举,您可以使用它来获取 NSString,然后您可以将其转换为 C# string.

示例:

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