六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 268|回复: 0

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

[复制链接]

升级  47.33%

108

主题

108

主题

108

主题

举人

Rank: 3Rank: 3

积分
342
 楼主| 发表于 2013-1-3 15:36:18 | 显示全部楼层 |阅读模式
<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;           }       }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表