我正在尝试将视频导入UWP画布。我有这个代码成功导入图片:private async void AddImageButton_Click(object sender,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时卡住了。有什么建议?
谢谢!
根据您上面的将图像添加到Canvas
的代码,您可以尝试以下代码将MediaPlayerElement
添加到Canvas并使用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);
}