我们正在 xamarin 表单中使用 Xamarin Essentials MediaPicker 创建捕获图像和视频。
await Xamarin.Essentials.MediaPicker.CaptureVideoAsync();
视频拍摄时长超过 10 分钟。如何限制仅捕获 5 分钟的视频。
我们正在 xamarin 表单中使用 Xamarin Essentials MediaPicker 创建捕获图像和视频。
await Xamarin.Essentials.MediaPicker.CaptureVideoAsync();
视频拍摄时长超过 10 分钟。如何限制仅捕获 5 分钟的视频。
Xamarin Essentials MediaPicker仍处于预览阶段,直到现在才支持这样的选项。
我们可以使用来自 nuget 的插件Media.Plugin。
private async void Button_Clicked(object sender, EventArgs e)
{
await CrossMedia.Current.Initialize();
if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
{
DisplayAlert("No Camera", ":( No camera available.", "OK");
return;
}
// record video
//var file = await CrossMedia.Current.TakeVideoAsync(new Plugin.Media.Abstractions.StoreVideoOptions
//{
// DesiredLength = new TimeSpan(300), //set length here 300s
// Quality = Plugin.Media.Abstractions.VideoQuality.High
//});
//if (file == null)
// return;
//take photo
var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
{
Directory = "Sample",
Name = "test.jpg"
});
if (file == null)
return;
await DisplayAlert("File Location", file.Path, "OK");
image.Source = ImageSource.FromStream(() =>
{
var stream = file.GetStream();
return stream;
});
}