We are creating Capture Images & Videos with Xamarin Essentials MediaPicker in xamarin forms.
await Xamarin.Essentials.MediaPicker.CaptureVideoAsync();
Video capturing more than 10 minutes long. How to restrict only capture 5minutes video.
Xamarin Essentials MediaPicker is still in preview and doesn't support such an option until now .
We could use the plugin Media.Plugin from nuget .
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;
});
}