音乐播放器

音乐播放器代码 :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Threading;

namespace MusicPlayer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void PlaySong(int selectNum) //被选中的音乐进行播放
{
MusicPlayer1.URL = playlist[selectNum];
}
private string[] playlist = new string[1000]; //播放列表数组
private int num;
public void AddFile(string path) //添加音乐文件方法
{
if (num < 1000)
{
num++;
playlist[num] = path;
}
}
public void RemoveFile(int selectNum) //移除音乐文件方法
{
for (int i = selectNum; i < num - 1; i++)
{
playlist[i] = playlist[i + 1];
}
}
private void Addbtn_Click(object sender, EventArgs e) //添加按钮
{
//打开一个过滤器,只能是以下文件
openFileDialog1.Filter = "*.mp3|*.mp3";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string path = openFileDialog1.FileName;
FileInfo music = new FileInfo(path);
AddFile(music.FullName); //调用AddFile方法添加音乐文件
string Temp = Convert.ToString(num);
for (int i = 1; i <= 2-Temp.Length; i++)
{
Temp += ' ';
}
Temp += music.Name; //音乐名字
mlist.Items.Add(Temp); //把添加的音乐名字放在播放列表里
}
}
private void Removebtn_Click(object sender, EventArgs e) //移除按钮
{
if (mlist.SelectedIndex >= 0)
{
RemoveFile(mlist.SelectedIndex); //移除被选中音乐文件
mlist.Items.RemoveAt(mlist.SelectedIndex);
}
}
private void Startbtn_Click(object sender, EventArgs e) //开始播放按钮
{
int Selected;
if (mlist.Items.Count <= 0) //如果播放列表没有歌曲弹出消息框
{
MessageBox.Show("请您先添加歌曲!");
return;
}
if (mlist.SelectedIndex < 0 && mlist.Items.Count >0) //如果播放列表有歌曲但没选择,就默认播放第一个。
{
Selected = 1;
mlist.SelectedIndex = 0;
}
else
{
Selected = mlist.SelectedIndex + 1; //否则直接播放选中的那一首
}
PlaySong(Selected); //进行播放
}
private void Stopbtn_Click(object sender, EventArgs e) //停止按钮
{
MusicPlayer1.URL = ""; //停止的话重新赋一个空地址
}
private void MusicPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{ //这是音乐播放完毕的时候给出个提示。
if (MusicPlayer1.playState == WMPLib.WMPPlayState.wmppsMediaEnded) //播放器播放状态,如果播放结束弹出消息框
{
MessageBox.Show("播放完毕!");
}
}
}
}