本次作业围绕在MediaPlayer打开文件展开
1.文件打开
FileOpenPicker fileOpenPicker = new FileOpenPicker();//创建一个FileOpenPicker
fileOpenPicker.ViewMode = PickerViewMode.Thumbnail; //设置为多选文件模式
fileOpenPicker.SuggestedStartLocation = PickerLocationId.VideosLibrary;//FileOpenPicker打开的默认路径
fileOpenPicker.FileTypeFilter.Add(".mp3"); //设置过滤文件的格式
fileOpenPicker.FileTypeFilter.Add(".mp4");
IReadOnlyList<StorageFile> mediaFiles = await fileOpenPicker.PickMultipleFilesAsync();//将得到的文件保存
if (mediaFiles != null)//判断是否打开了文件
{
foreach (StorageFile mediaFile in mediaFiles)
{
//检测是否已有同路径文件 if(!this.mediaFileInfos.Select(x=>x.mediaFile.Path).ToList().Contains(mediaFile.Path)) this.mediaFileInfos.Add(new MediaFileInfo(mediaFile));
// FileBlock.Items.Add(mediaFile.Name);
}
Title.Text = "导入" + mediaFiles.Count + "个文件";
}
else
{
Title.Text = "error open!";
}将上面的代码放在任意按钮的点击事件中即可.
2.实现的效果图

使用SplitView分成左侧的"文件放置区"和"媒体播放区".

左侧"文件放置区"放置加载进入的文件,点击对应文件可以进行播放.

可以同时导入多个文件.
3. 遇到的问题
原本的"文本放置区"中的listBox想使用数据绑定绑定到输入的文件列表上,但是一直没弄弄懂怎么设置.媒体播放器的拖动条也没能实现,所以使用MediaElement自带的,没将下面的控件和其自带的控件放在一起.
附上GitHub链接:https://github.com/LWCT/MediaPlayer
参考文档:
1. https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.mediaelement
2. https://docs.microsoft.com/en-us/uwp/api/windows.storage.pickers.fileopenpicker
1285

被折叠的 条评论
为什么被折叠?



