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);
}
Другие вопросы по тегам