UWP видео импорт
Я пытаюсь импортировать видео в холст UWP. У меня есть этот код, который успешно импортирует изображение: private async void AddImageButton_Click(отправитель объекта, RoutedEventArgs e) { Image MyImage = new Image();
var picker = new FileOpenPicker();
picker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
picker.FileTypeFilter.Add(".jpg");
picker.FileTypeFilter.Add(".png");
StorageFile file = await picker.PickSingleFileAsync();
if (file != null)
{
StorageApplicationPermissions.FutureAccessList.AddOrReplace("PickedFolderToken", file);
// var files = await file.GetFilesAsync();
var bitmap = new BitmapImage();
var stream = await file.OpenReadAsync();
// AddHandler(, new ExceptionRoutedEventHandler(Bitmap_ImageFailed), true);
bitmap.ImageFailed += Bitmap_ImageFailed;
await bitmap.SetSourceAsync(stream);
MyImage.Source = bitmap;
AddHandler(ManipulationStartedEvent, new ManipulationStartedEventHandler(Image_ManipulationStarted), true);
AddHandler(ManipulationDeltaEvent, new ManipulationDeltaEventHandler(Image_ManipulationDelta), true);
AddHandler(ManipulationCompletedEvent, new ManipulationCompletedEventHandler(Image_ManipulationCompleted), true);
ManipulationMode = ManipulationModes.All;
MyImage.RenderTransform = ImageTransforms;
parentCanvas.Children.Add(MyImage);
}
}
Я попытался адаптировать это для импорта видео, но застрял при преобразовании растрового изображения в MediaPlayerElement. Какие-либо предложения?
Спасибо!
1 ответ
Решение
Согласно приведенному выше коду добавления изображения в Canvas
, вы можете попробовать следующий код, чтобы добавить MediaPlayerElement
на холст и использовать FileOpenPicker
выбрать медиа-файл в качестве источника MediaPlayerElement. Вы можете внести некоторые изменения, чтобы удовлетворить ваши требования.
private async void AddMediaPlayerElementButton_Click_1(object sender, RoutedEventArgs e)
{
var picker = new FileOpenPicker();
picker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
picker.FileTypeFilter.Add(".mp4");
StorageFile file = await picker.PickSingleFileAsync();
MediaPlayerElement mediaPlayer = new MediaPlayerElement() { AreTransportControlsEnabled = true };
if (file != null)
{
mediaPlayer.Source = MediaSource.CreateFromStorageFile(file);
}
parentCanvas.Children.Add(mediaPlayer);
}