简易MediaPlayer

本次作业围绕在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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值