您的位置:首页 > 其它

Homework for UWP——Naïve Media Player, Part 1

2018-04-02 00:00 369 查看
  根据作业的要求,编写一个能让用户自行选择文件形式并播放的播放器,我分解成了两部分内容,第一部分是选择文件,第二部是播放。
一、文件的选择
  如何选择想要播放的文件,我首先想到是否有一个API,于是我百度了一下如何让用户自行选取文件,于是,我在Microsoft官方指南中找到了这个https://docs.microsoft.com/zh-cn/windows/uwp/files/quickstart-using-file-and-folder-pickers,其中我选用了FileOpenPicker类函数,代码如下(复制粘贴过来的,但是经过了一些改动):
private async void add_Click(object sender, RoutedEventArgs e)
        {
            var openPicker = new FileOpenPicker();

            openPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.VideosLibrary;
            
            openPicker.FileTypeFilter.Add(".mp4");
            openPicker.FileTypeFilter.Add(".mp3");
            

            StorageFile file = await openPicker.PickSingleFileAsync();
            if (file != null)
            {
                var mediaSource = MediaSource.CreateFromStorageFile(file);
                MediaPlayer.Source = mediaSource; 
            }

        }  

  在这段代码中,我用到了FileOpenPicker构造函数、SuggestedStartLocation属性从windows的库中首先选择video类型的文件供用户选择,其中有一段小插曲就是系统警告缺少引用,于是我根据黄色小灯泡提示引用了一个 Windows.Storage.Pickers和一个Windows.Media.Core就解决了;其次呢,用openPicker.PickSingleFileAsync()方法打开单一文件(当然也有mutiple选择多个文件的方法),这个部分来自:↓ https://docs.microsoft.com/en-us/uwp/api/Windows.Storage.Pickers.FileOpenPicker#Windows_Storage_Pickers_FileOpenPicker_PickSingleFileAsync。
二、播放器
  这个部分我直接再控件库里找到了MediaPlayerElement控件,是一个已经定义好了的播放器,只需要通过给MediaPlayerElement中的Source属性传参就可以播放了。
最后的效果是这样的
文件选择:



播放效果:



Github:https://github.com/tyuchn/homework--A-basic-player
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: