PiliPala Player - A Simple Media Player

GitHub地址:https://github.com/TenielD/file

因为MeidaElement的控件就可以实现一般的对于视频播放器的要求,因此在PiliPala Player的设计中,采用MeidaElement作为主体。

然后使用Grid进行整体布局,代码如下:

           <Grid.RowDefinitions><RowDefinition Height="36"></RowDefinition><RowDefinition Height="auto"></RowDefinition><RowDefinition Height="*"></RowDefinition></Grid.RowDefinitions><Rectangle Fill="#D7D7D7" Grid.Row="0"></Rectangle><Rectangle Fill="BlanchedAlmond" Grid.Row="1"></Rectangle><Rectangle Fill="BlanchedAlmond" Grid.Row="2"></Rectangle>

既然MediaElement可以实现MP3和MP4的播放,也就满足了设计的要求。那么接下来主要的问题就是如何选取文件了,即文件的选取。

然后我在网上搜索UWP的这个功能,知道了文件选取器。。

https://blog.csdn.net/csdn_ergo/article/details/51262608

文章中的相关部分代码如下:

    //文件选择器  FileOpenPicker openPicker = new FileOpenPicker();  //选择视图模式  openPicker.ViewMode = PickerViewMode.Thumbnail;  //openPicker.ViewMode = PickerViewMode.List;  //初始位置  openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;  //添加文件类型  

代码是以图片选取为例,

    openPicker.FileTypeFilter.Add(".jpg");  openPicker.FileTypeFilter.Add(".jpeg");  openPicker.FileTypeFilter.Add(".png");    

格式均为图片格式,本项目要求为MP3 or MP4,因此:

 picker.FileTypeFilter.Add(".mp4");picker.FileTypeFilter.Add(".mp3");

然后我又查看了官方文档https://docs.microsoft.com/en-us/uwp/api/Windows.Storage.Pickers.FileOpenPicker

最后我写出的代码如下:

 private async void Button_Click(object sender, RoutedEventArgs e){FileOpenPicker picker = new FileOpenPicker();picker.ViewMode = PickerViewMode.Thumbnail;picker.FileTypeFilter.Add(".mp4");picker.FileTypeFilter.Add(".mp3");StorageFile file = await picker.PickSingleFileAsync();if (file != null){var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);mediaplayer.SetSource(stream, file.ContentType);}else{return;}}

然后再添加一些Button来响应文件选取的功能,最终结果是这样:

emmmm有点丑。。钢铁直男表示尽力了。

点击Select File后:

随便选了一个MV播放,是这样:

这样一个简单的媒体播放器就做好啦,还有许多可以增加以及改进的地方。keep fighting

最后,欢迎使用PiliPala Player /狗头


PiliPala Player-a simple media player相关推荐

  1. windows全局热键_将全局热键添加到Windows Media Player

    windows全局热键 Do you use Windows Media Player in the background while working in other applications? T ...

  2. 在Windows 7 Media Player中轻松播放Flac,Ogg和其他文件格式

    If you're a music fan who likes Flac and Ogg files, you know WMP won't play by them default. Here we ...

  3. C++ 实现视频文件播放(Windows Media Player、MFC、C#)

    文章目录 1.简介 1.1 WMP控件特点 1.2 WMP开发接口 1.3 WMP开发方式 1.4 WMP支持格式 2.官网代码示例 2.1 Using the Windows Media Playe ...

  4. libvlc media player in C# (part 2)

    原文 http://www.helyar.net/2009/libvlc-media-player-in-c-part-2/ I gave some simplified VLC media play ...

  5. 使用Joost Media Player观看桌面上的Joost程序

    If you liked the Joost desktop application they had before they killed off the project, thanks to Pa ...

  6. libvlc media player in C# (part 1)

    libvlc media player in C# (part 1) 原文 http://www.helyar.net/2009/libvlc-media-player-in-c/ There see ...

  7. 在Windows Media Player中使用歌词插件显示歌曲歌词

    Looking for a way to display song lyrics in Windows Media Player? Today we look at a very simple met ...

  8. 学习Windows 7:使用Windows Media Player管理音乐

    If you're moving from XP to Windows 7, you'll notice that Windows Media Player 12 is a different tha ...

  9. 用Windows Media Player截图的方法

    视频截图方法: 关闭"视频加速功能即可". 以Windows Media Player 9.0为例,选择菜单"工具→选项",找到"性能"选项 ...

  10. 【Qt】Qt再学习(八):Media Player(Qt实现多媒体播放器)

    1.简介 Media Player演示了一个简单的多媒体播放器,该播放器可以使用各种编解码器播放音频和/或视频文件. 涉及到的类有 QMediaPlayer.QMediaPlaylist.QVideo ...

最新文章

  1. docker-ce-17.09 网络基础配置
  2. Apache模块开发
  3. 如何垂直居中一个浮动元素
  4. java过程调用语句_Java之流程控制语句
  5. 疯狂ios讲义疯狂连载之日期选择器(UIDatePicker)
  6. JSP——JSTL语法总结
  7. 极其实用的sql脚本【建议收藏】
  8. bzoj4709 [Jsoi2011]柠檬
  9. 【Breadth-first Search 】515. Find Largest Value in Each Tree Row
  10. [Tips] WSL ubuntu 18.04 安装python3
  11. 使用XML文件方式配置log4cxx(log4cxx xml例子)
  12. 结局就在附近! (对于SQL Server 2008和SQL Server 2008 R2)
  13. pythonlog数组_Numpy掩码式数组详解
  14. c语言构造数学模型步骤,数学建模的6个基本步骤
  15. mac php codesniffer,[转载]使用PHP_CodeSniffer规范php代码
  16. WIN10中程序以管理员身份运行的解决方法
  17. 一文详解Type C-CC引脚的作用
  18. Cent OS 使用nohup 启动 Springboot避坑
  19. 淘宝被刷单怎么办?怎么投诉?万顿思电商
  20. mysql string agg_postgresql合并string_agg函数的实例

热门文章

  1. 如何利用cmd打开资源管理器
  2. 什么是Web缓存控制(基于HTTP头域)
  3. java 解密pdf文件,PDFBox加密和解密PDF文件
  4. 【NLP】huggingface阶段性学习小结
  5. 【BZOJ2109/2535】【NOI2010】航空管制(贪心)
  6. 某移动版网页源码留存
  7. 关于DOM的知识点总结
  8. Windows XP 语言栏丢失
  9. 高中数学联赛二试怎么准备
  10. java实现12306查票_java抓取12306信息实现火车余票查询示例