歌曲播放界面原理

 环境:

  Visual studio 2012,Sql Server

  1. VS工具栏中添加播放器控件,步骤如下:

  打开工具栏→选择任意控件右击→选中”选择项…”打开→选择”COM组件”→找到”Windows Media Player”勾上复选框→点击确定

  1. 在主界面添加Windows Media Player控件,修改属性名称,至此搭建播放界面完成

Main:

打开先前写好的程序至歌曲添加界面(如图):

 

当点击某一首歌曲时,在DataGirdView控件的CellClick事件中进行添加歌曲到提前定义好的对象数组中,代码如下:

此处,songtype的判定是因为在已点列表和歌曲列表界面同时共用了一个窗体,若非共用窗体则不需要在此判定,而DGV_list.SelectedRows[0].Cells[“”]则是获取到选中行集合的第一行(即下标为0)的具体列的值,进行String类型的一个转换,最终把得到的每一项的值赋给对象数组中与之对应的项,同时调用之前定义好的方法(如下图),获取到需要播放的歌曲,由于该方法需要得到一个song的对象,因此在调用该方法时需要给他一个对象参数

 

此时,需要给主界面添加一个Timer控件,在他的Tick事件中来判定song对象是否为空,如果为空则调用Playsong方法(如图)进行播放

 

下图为调用播放当前歌曲的方法

 

那么如果当前song对象不为空,则同时判定播放器是否是停止状态,如果停止便立即播放下一首(如图)

 

在调用MoveNext方法时需要判定下标加一的数组对象是否为空,换句话说就是判定是不是还有下一首歌曲,如有就让数组的索引加一,进行下一首歌曲的播放,在这里需要注意的是,如果已经开始播放下一首歌曲了,那么是不是该把上一首歌曲信息清除呢,因为如果不做清除处理,那么他的对象数组中一直会保留上一首歌曲,也就是”Song==null”这个条件一直为假,则就不会自动播放下一首,所以在此需要把他的Song对象的值强行改为null,这样在Timer控件的自动刷新下,便会自动播放下一首歌曲了

  其实在这个过程中,最主要的便是获取需要播放的歌曲的URL地址,所以在获取DataGirdView控件的值得时候,要同时获取到该歌曲的Url地址,把他存放在对象数组中隐藏起来,在播放当前歌曲的方法中再把它调用出来即可

原文地址:https://www.cnblogs.com/BlogHunter-Hu/p/4671461.html