Tạo playlist trong Windows Media Palyer với C#

Phương thức sau tạo playlist cho 1 control WindowsMediaPlayer.

private void CreatePlayLis(String folder,string extendsion)

{

string myPlaylist = “Sample”;

WMPLib.IWMPPlaylist pl;

WMPLib.IWMPPlaylistArray plItems;

plItems = windowsMediaPlayer.playlistCollection.getByName(myPlaylist);


if (plItems.count == 0)

pl = windowsMediaPlayer.playlistCollection.newPlaylist(myPlaylist);

else

pl = plItems.Item(0);


DirectoryInfo dir = new DirectoryInfo(folder);

FileInfo[] files = dir.GetFiles(extendsion, SearchOption.AllDirectories);


foreach (FileInfo file in files)

{

string musicFile01 = file.FullName;

string mName = file.Name;

ListViewItem item = new ListViewItem(mName);

musicList.Items.Add(item);


WMPLib.IWMPMedia m1 = windowsMediaPlayer.newMedia(musicFile01);

pl.appendItem(m1);

}

windowsMediaPlayer.currentPlaylist = pl;

windowsMediaPlayer.Ctlcontrols.play();

}

Bạn tạo 1 thể hiện của WindowsMediaPlayer controls windowsMediaPlayer sau đó gọi phương thức này trong nút load thư mục chứa các tập tin nhạc.

Các đoạn code còn lại của ứng dụng:

private void tsbLoadDirectry_Click(object sender, EventArgs e)

{

FolderBrowserDialog fld = new FolderBrowserDialog();

fld.SelectedPath = @”E:\Music\hoatau”;

if (fld.ShowDialog(this) == DialogResult.OK)

{

CreatePlayLis(fld.SelectedPath,tscomboExtension.Text);

}

}

private void musicList_DoubleClick(object sender, EventArgs e)

{

try

{

IWMPMedia med= windowsMediaPlayer.currentPlaylist.get_Item(musicList.SelectedIndices[0]);

ListViewItem sel = musicList.SelectedItems[0];

windowsMediaPlayer.Ctlcontrols.playItem(med);

}

catch (Exception)

{

}

}

private void tsbClearPlaylist_Click(object sender, EventArgs e)
{

for (int i = 0; i < windowsMediaPlayer.currentPlaylist.count; i++)

{

IWMPMedia med = windowsMediaPlayer.currentPlaylist.get_Item(i);

windowsMediaPlayer.currentPlaylist.removeItem(med);

}

musicList.Items.Clear();

}

Chúc may mắn!