首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

C#开源音乐播放器MetroPlayer3.0公布

2013-09-06 
C#开源音乐播放器MetroPlayer3.0发布一、说明MetroPlayer3.0是在MetroMusic1.05及2.0版本的基础之上,进行重

C#开源音乐播放器MetroPlayer3.0发布

  一、说明

      MetroPlayer3.0是在MetroMusic1.05及2.0版本的基础之上,进行重构和改进的软件产品。从3.0开始,本软件正式更名为MetroPlayer。MetroPlayer注重良好的用户体验,努力打造适合小众音乐爱好者喜欢的音乐播放器,MetroPlayer主张简洁、实用的设计,MetroPlayer为兴趣而生,注定它将有别于市场上的一切播放器产品,

它将以更加友好的方式,为您带来更加出色的视听体验。MetroPlayer,自由随心,改变从此刻开始。

     感谢那些喜欢和热爱MetroPlayer的编程爱好者们,MetroPlayer从一开始就是为兴趣交流而产生的,之前的版本,得到了大家的认可,大家为此提出了很多的建议,现在,当MetroPlayer3.0正式发布的时候,作为软件的开发者,我决定将MetroPlayer开源,从而让更多人来了解和学习这个开源音乐播放器。尽管MetroPlayer的源代码是开放的,这并不意味着您可以任意的使用,在向我索要程序源代码时,请先考虑一下问题:

   1、是否是C#编程爱好者

   2、是否认同MetroMusic的设计理念:简单、简洁、实用

   3、是否了解Xml、Linq的相关知识

   4、是否了解GDI+

   5、是否阅读过之前版本程序的源代码

   6、是否愿意为程序提出建议和改进的思路

   7、是否愿意和我一起维护这个项目

   8、是否和我一样,对编程有浓厚的兴趣,并且不愿以一个平庸的程序员的形象出现在人们的视野中

   9、是否愿意分享自己的软件设计,包括代码、算法

   10、是否同意以上协议,并愿意以程序员的名义发誓

    假如你满足了以上协议的5条要求,你可以发送邮件到qinyuanpei@163.com进行代码的获取。

二、产品特性

     本次程序重要更新:

      1、合并喜欢和播放两个列表,实现基于喜欢听的推荐排序算法,实现所听即所爱;下一版本将推出基于用户行为分析的机器学习算法。

      2、优化了歌词算法,当发现歌词乱码时,可以手动纠错;下一版本将继续深度优化算法,提供滚动歌词的支持。

      3、实现了桌面歌词,可以决定是否显示桌面歌词;下一版本将进行桌面歌词的自定义设置开发工作。

      4、电台模式/播放器模式任意切换,MetroPlayer=豆瓣(本地推荐)+播放器,下一版本考虑网络版本。

      5 、使用了基于Linq的播放列表读取、存储算法,效率更高,Linq的出现,使得软件需要的.NET Framework的要求更高,至少需要3.5以上的版本。

      6、提供了播放模式的选择支持:顺序循环、单曲循环、随机

      7、精美皮肤,随意切换:10款内置皮肤,随心切换

      8、全面支持热键控制;

      9、提供在线搜索支持;

     10、更加友好的界面显示控制;

三、技术路线

     内核:WMP12

    播放列表:使用Xml作为存储格式,使用Linq进行数据操作,使用Listview控件作为数据容器。

    界面设计:WinForm

    程序设计:采用面向对象方法进行设计,其中Lrc类是对歌词相关操作的封装,XmlHelper是对Linq的封装,LikeCompare类是对歌曲喜欢读相关操作的封装,Music类是对歌曲信息的封装,Setting类是对播放器设置的封装。

 三、缺陷与不足

      1、由于歌词和音乐播放使用一个进程,所以歌词显示时间较短,建议使用多线程进行优化。

      2、由于桌面歌词的显示需要Timer,所以桌面歌词会有闪烁的情况。(后来发现是设置上的错误)

      3、内存占用比较严重,效率上还需要进一步优化。

      4 、播放列表、设置文件等地方没有异常处理,可能报错。

      5、未能实现鼠标滚轮对声音的调节功能

      6、播放列表需要进一步美化,以实现背景的透明

      7、暂时未引入在线播放功能,仅提供搜索功能的支持

      8、对喜欢度的利用不是很到位,可以整合机器学习等算法,实现音乐DNA。

      9、桌面歌词未能实现逐字绘制效果

     10、桌面歌词移动会阻塞界面进程

四、结论

       MetroPlayer基于前两个版本的重构,技术上已经相当成熟。架构相对合理,代码条理清晰,注释完整,无论是学习编程技术还是作为一款软件产品来使用,都是不错的选择。下一版本的版本号为4.0,将采用全新的WPF技术构建用户界面,界面更加友好,敬请期待!

五、意见反馈

     欢迎大家对MetroPlayer提出好的意见和建议!

     作者:秦元培

     昵称:Robin

     QQ:875974254

     E-mail:qinyuanpei@163.com

     Blog:blog.csdn.com/qinyuanpei

     源代码:http://download.csdn.net/detail/qinyuanpei/6043071

热点排行