Wade_ 发表于 2013-1-3 15:36:18

WPF开发较为完整的音乐播放器(一) ---音乐播放类的构建

<div id="cnblogs_post_body">
    近来闲来有事,便想到用自己这段时间学习的知识写一个音乐播放器。提前声明,我不擅长界面,因此做出来的界面的却有些次,但不是本系列文章的重点。
    先讲下我们开发此音乐播放器所用到的技术:数据绑定、Xml、MediaPlayer类、数据模板等,将在之后陆续讲解。
   来阐述下播放器开发的整体思路:构建音乐播放类用于播放音乐,用两个控件分别作为播放列表和播放控制,并且利用控件模板改变它们的界面,利用Xml数据读取类XmlListsReader来读取位于存放列表的xml,将歌曲名称、文件路径、持续时间歌手等信息读取到Product类中,并设置ListBox的ItemSouse为此类,采用数据模板显示数据。
    好了,开始我们第一部分的教程--音乐播放类的构建。

  话说利用WPF播放音乐有多种方法:MediaPlayer类,SoundPlayer类,以及使用DirectX Sound等。若要选择一种功能较多,方便易用的方法,定要属MediaPlayer类了,唯一的限制就是需要依赖Windows Media Player(WMP)。不过在Windows环境下,这一限制可以忽略不计,都是系统自带的,不是吗?
    当然,我们可以直接在窗口中防置MediaPlayer的操作代码,但是为了更正规化和可维护性,我们将它封装进MusicPlayer类中。
在类的开头,先来定义几个私有变量和公有的枚举(表示播放器的状态):
<div class="cnblogs_code">       public enum PlayState : int       {         stoped = 0,         playing = 1,         paused = 2       }       private MediaPlayer player = null;       private Uri musicfile;       private PlayState state;       public Uri MusicFile       {         set         {               musicfile = value;         }         get         {               return musicfile;         }       }
页: [1]
查看完整版本: WPF开发较为完整的音乐播放器(一) ---音乐播放类的构建