播放器具有的功能:播放、选择音乐文件、上下音乐切换,如图:
控件有button、ListBox、Windows Media Player、Timer 、ContextMenuStrip
下面上代码:
首先是播放按钮,当播放时显示暂停,暂停是显示播放:
private void button1_Click(object sender, EventArgs e) { if (button1.Text == "播放") { musicPlayer.Ctlcontrols.play(); button1.Text = "暂停"; } else if (button1.Text == "暂停") { musicPlayer.Ctlcontrols.pause(); button1.Text = "播放"; } }
停止按钮就是停止音乐:
private void button2_Click(object sender, EventArgs e) { musicPlayer.Ctlcontrols.stop(); }
然后是播放下一首音乐按钮:
/// <summary> /// 点击下一首播放 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button4_Click(object sender, EventArgs e) { int index = listBox1.SelectedIndex; listBox1.SelectedIndices.Clear(); index++; if (index == listBox1.Items.Count) { index = 0; } listBox1.SelectedIndex = index; musicPlayer.URL = listPath[index]; musicPlayer.Ctlcontrols.play(); button1.Text = "暂停"; }
播放上一首与此差不多:
private void button5_Click(object sender, EventArgs e) { int index = listBox1.SelectedIndex; listBox1.SelectedIndices.Clear(); index--; if (index < 0 ) { index = listBox1.Items.Count-1; } listBox1.SelectedIndex = index; musicPlayer.URL = listPath[index]; musicPlayer.Ctlcontrols.play(); button1.Text = "暂停"; }
最后是我们的选择音乐文件:
List<string> listPath = new List<string>(); private void button3_Click_1(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.InitialDirectory = @"C:\Users\fei\Music\"; ofd.Filter = "音乐文件|*.wav|MP3文件|.mp3|所有文件|*.*"; ofd.Title = "请选择文件:"; ofd.Multiselect = true; ofd.ShowDialog(); string[] path = ofd.FileNames; for (int i = 0; i < path.Length; i++) { listPath.Add(path[i]); //将文件名存储到listbox中 listBox1.Items.Add(Path.GetFileName(path[i])); } }
然后是边角料,就是当音乐播放到最后的时候,直接播放下一首音乐Timer控件 :
if(musicPlayer.playState == WMPLib.WMPPlayState.wmppsPlaying){ label1.Text = musicPlayer.currentMedia.duration.ToString() + "\r\t" + musicPlayer.Ctlcontrols.currentPosition.ToString(); double d1 = double.Parse(musicPlayer.currentMedia.duration.ToString()); double d2 = double.Parse(musicPlayer.Ctlcontrols.currentPosition.ToString()) +1 ; if (d1<=d2) { int index = listBox1.SelectedIndex; listBox1.SelectedIndices.Clear(); index++; if (index == listBox1.Items.Count) { index = 0; } listBox1.SelectedIndex = index; musicPlayer.URL = listPath[index]; musicPlayer.Ctlcontrols.play(); button1.Text = "暂停"; } }
到此,基本功能完毕。
做个项目下载链接:https://download.csdn.net/download/qwqwdf/10419247