音乐播放器之知识总结与难点分析
知识总结
-添加控件
-获取目录
-切割字段
- 比较大小
难点分析
-控件之间关联
-播放顺序
-播放功能
-MediaPlayer的属性练习
知识总结
添加控件
我们开发音乐播放器的时候我们用到的控件有
1.Windows Media Player
这是一个Windows 自带的一个控件,我们可以在VS中通过引用COM组件来实现控件的添加,具体过程: 工具箱->公共组件->右击”选择项”->COM组件下边的Windows Media Player,之后我们发现公共控件中就可以添加这一个控件
2.Button
Button 控件我们简称为按钮控件,按钮控件是我们最常用的一个控件,与大部分的控件类似,按钮控件有Name属性,Text属性,背景Image属性,最常用的事件为点击事件,也就是Click事件
3.ListBox
ListBox控件,类似与一个容器,同时和我们之前学习的 list<>类也十分相似,它可以在其上显示一系列内容,这里我们是用来显示歌曲名字
4 Timer
Timer控件是定长时间段产生事件的一个控件,其默认情况下Enabled为True,时间间隔属性Interval ,表示事件发生频率,以毫秒为单位.
获取目录
如果想要获取某一路径下的一个子目录,我们就需要介绍一下OpenFileDialog类
此类是用户查看打开文件用的,不能被继承,属性Multiselect 表示打开的文件目录,是否可以多选,True为多选 ;Title 代表打开目录的提示,Filter属性是选择要查询的文件后缀名类型代码格式如下
OpenFileDialog ofd = new OpenFileDialog();//打开文件
ofd.Multiselect = true;//可以多选
ofd.Title = “请选择音乐我文件”;//设置选择什么样的文件
//设置初始的目录
ofd.InitialDirectory = @”E:\KuGou”;
ofd.Filter = “(.mp3)|.mp3|(.jpg)|.jpg
由于这个类的属性属于非静态属性,所以我们必须实例化才能用到他的属性,其中InitialDirectory 是表示初始的文件目录,当然我们可以给一个其他的路径,这里是我们存放歌曲的路径
if (ofd.ShowDialog()==System .Windows .Forms .DialogResult .OK )
{
string[] fileName =ofd.FileNames;//获取路径
}
上俩行代码打开一个目录,并将选中的子目录放置 fileName中,其中的ofd.ShowDialog() 表示运行通用对话框,也就是弹出能选择文本的框
切割字段
承接以上获取的目录路径,我们需要分割路径才能够获得所需要的字符串,比如歌曲名,这里我们就需要了解String 字符串的方法
1string.length,字符串长度
2string.split();
切割字符串,这个方法有很多的重载,我们可以切去字符串的特定符号,而且删除空格
3string.LastIndexOf()
括号里面既可以放入字符,也可以放入字符串,返回查询内容最后的索引值
4string.Substring
截取字符串中的子字符串,从低下标索引到高下标索引的子字符串.
比较大小
比较大小分为字符串比较大小,我们这个播放器项目中,添加歌词,我们要对事件流信息进行排序,这时我们就对其中的字符串进行比较大小
string.compare(string1,string2);
返回一个值,string1大于string2,返回1,相等返回0,小于返回-1;
难点分析
控件之间关联
控件之间的关系因人而异,由于设计思路的不同,以及开发方式的差异,空间之间如何能相互关联起来的方法,就显得比较多了,我就简单说一下我的关联情况
1ListBox 承接ofd 查询歌曲名字,并切割后的字符串,最后将歌曲名字添加到了ListBox当中.
2 歌词
我是采用button 来显示歌词,原因,button有背景图片,我们可以对button的属性进行设计,这样的效果是能够与form背景颜色进行融合.如下所示.
播放顺序
播放顺序也就是软件从开始的执行顺序
1 Main函数出发,=>定义全局变量,歌曲存放路径=>初始化Form1=>Form1加载事件,里边包含将一些按钮控件的Enabled属性设置为False.=>Timer时刻在运行,=>可以点击各种按钮,出发事件;