Võ Văn Hải's blog

Chỉ có một điều tuyệt đối đó là mọi thứ đều tương đối…

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!

64 Responses to “Tạo playlist trong Windows Media Palyer với C#”

  1. Nguyễn Quốc Đông said

    Thầy ơi , em đã viết một chương trình tương tự như windows media player, em sử dụng thư viện winmm.dll của WMP. Mỗi khi play file nhạc mp3, nếu pause xong rồi mà resume lại thi nó phát lại từ đầu, em không biết là nên dùng thư viện nào cho đúng để cả file mp3 đều có thể dừng và phát lại đúng chỗ như là khi play file wma.
    Đây là chương trình mà em đã viết :
    http://www.mediafire.com/?xmckmfmgnj2
    Và em muốn hỏi là em muốn lấy những thông tin mà người sử dụng nhập ở trong tab summary của mỗi file nhạc, ví dụ như ca sĩ, tác giả v.v.. . Em phải làm thế nào ? Mong thầy chỉ dẫn cho em. Em cám ơn thầy .

  2. Lê bá Đức Trọng said

    Thưa Thầy !
    Em tạo playlist bằng Listbox; mỗi khi play xong một bài hát là tự động nó stop lại ( không hát tiếp bài nữa). Rất mong thầy chỉ dùm em .
    —Em cảm ơn thầy!

  3. Lê bá Đức Trọng said

    Thưa thầy! khi em tạo Windows Media Player trong form C#, Em chỉnh none hoàn toàn đối với các chức năng của WMP , mà tạo và viết code cho các button, các menu, contextmenustrip, status, trackbar,timer……
    — Tất cả các ứng dụng xem phim, nghe nhạc đều chạy, nhưng khi playt song nó có change qua bài tiếp theo, nhưng không hát tiếp nữa, em sử dụng sự kiện private void axWindowsMediaPlayer1_MediaChange(object sender, AxWMPLib._WMPOCXEvents_MediaChangeEvent e); nhưng vẫn không play bài hát tiếp theo, em rất mong thầy chỉ giúp em.
    —- Trong bài của em không sử dụng thư viện dll .

  4. meomap said

    sax

  5. Truong Phuong said

    cac list cua thay chan qau thay oi, lam cho dep vao chu!!!(:D)

  6. Nguyen van hien said

    thay oi, cho em hoi “musicList.Items.Add(item);” sao khong thay khai bao vay thay. em moi hoc xin thay chi cu the dum em.Em cam on.

  7. vovanhai said

    musicList là tên của control ListView đặt trên form của bạn.

  8. Nguyen van hien said

    Thay oi, thay co the cho em xin 1 chuong trinh hoan chinh luon duoc khong thay, em xin dem ve tham khao ah, neu duoc em cam on thay rat nhieu. Em xem hoai nhung cung thay chang hieu j may.

  9. Nguyen van hien said

    thầy ơi, cho em xin hỏi cái “CreatePlayLis(fld.SelectedPath,tscomboExtension.Text);” tscomboExtension cái đối số này là j vậy thầy em xem hoài không hiểu, no nằm ở đâu vậy thầy. Em cám ơn.

  10. Valmzetvn said

    Thầy ơi, xin thầy, hướng dẫn dùm em.

    Em vẫn chưa hiểu quá trình hoạt động của playlist, ví dụ như play từ playlist, tạo thêm playlist mới, …

    Mong được thầy chỉ dẫn.

    Cảm ơn nhiều.

  11. Hao Long said

    Thầy Hải ơi em rất cần bài này thầy có thể hướng dẫn cụ thể được ko ạh, thầy có thể gửi soudcode cho em được ko ạh. Rất mong thầy trả lời thư

    hl_hl_vt@yahoo.com

  12. vovanhai said

    Đây là sourcecode của project, các bạn tham khảo nhé!
    Tải xuống rồi đổi đuôi gif thành đuôi rar. Dùng winrar giải nén. Chúc thành công!
    link: https://vovanhai.wordpress.com/files/2009/06/mymediaplayer.gif

  13. hp said

    khong tai duoc thay oi . ax ax chac chet mat buc minh qua di hic hic. thay oi giup em di, hay thay gui vao mail em nhe
    dohuyphuong@gmail.com

  14. vovanhai said

    Nhấn phải chuột, chọn save as.

  15. Hao Long said

    thầy hải ơi em làm và chạy được như thầy rồi , e cảm ơn thầy.
    Thầy Hải ơi cho em hỏi sao khi mình chọn trong combobox = *.mid và load foder không có file *.mid thì trong listview ko hiển thị là đúng,nhưng nhạc thì vẫn chạy.thầy cho em hỏi là vậy mình làm như thế nào để báo là file *.mid không có , và file *.mid không có thì nhạc không được hát.
    Mong thầy trả lời thư em

    Mình Tạo playlist trong Windows Media Palyer với C# được rồi nha ai cần thì để lại email hoặc pm qua yahoo mình gửi cho nha. (Microsoft Visual Studio 2005)

  16. Hao Long said

    Dowload về tham khảo : Click vào đây

    Bài của thầy Hải

  17. Hao Long said

    Ac đưa link nhầm (xí xóa 2 link trên nha ) : Click link này

    Bài của Thầy Hải

  18. Hao Long said

    Ac bị gì vậy trời Đây là chính xác nhất

  19. Trang said

    em chao thay.em thiet ke chuong trinh nghe nhac su dung windown form ma khong biet cach lam sao de khi hat xong mot bai hat thi no tu dong nhay bai khac.thay giup gium em voi .em cam on thay

  20. Trang said

    em chao thay.
    em dang viet chuong trinh nge nhac.
    cai duong link https://vovanhai.wordpress.com/files/2009/06/mymediaplayer.gif
    em khong vao duoc em muon lay ve doc tham khao thay giup gium em.
    em cam on thay.

  21. Tem said

    ban Hao long oi !ban co the gui cho minh cai file tao list nhac trong 2005 dc ko!!!minh dang can gap! thanks ban!

  22. Help said

    plItems = windowsMediaPlayer.playlistCollection.getByName(myPlaylist);
    khong the thuc thi duoc vi khong hieu doi tuong windowsMediaPlayer
    help me!!!!
    ai biet giup dum e nha.

  23. vovanhai said

    Tạo 1 instance của WindowsMediaPlayer có tên windowsMediaPlayer.

  24. Luongminhduc said

    Thua thay !
    Link died roi thay oi! thay gui lai link download project nay vao mail em duoc khong thay !

  25. cucquynhob said

    mình down được rồi.Thanks bạn Hao Long nhé!

  26. cucquynhob said

    Chào thầy! thầy có thể giúp em phần code tạo thêm nhiều Skin vào chương trìh nghe nhạc được ko thầy?em tìm mãi mà ko thấy.Cảm ơn thầy nhiều!em càn lắm thầy ơi!

  27. Hao Long said

    Bạn download được rồi nhưng bạn sử dụng được chưa nè : cucquynhob

  28. HnauT said

    Chào thầy!thầy có thể giúp em custom style cho track bar được không ah!Cảm ơn thầy nhiều!

  29. uttieu said

    chao thay!link nay e vao k dc

    lam sao e co the xem dc codo cua bai nay thay co the chi e dc khong?
    thanks!

  30. EdogawaConan said

    Xin chào thầy và các bạn, mình cũng có một thắc mắc như một bạn ở trên. Chương trình nghe nhạc của em có tạo playlist rồi nhưng mà e không biết cách nào cho nó hát từ đầu cho đến cuối được, rất mong thầy và các bạn đã có kinh nghiệm giúp đỡ. Thanks

  31. Mr.Hai said

    Phương thức sau tạo playlist cho 1 control WindowsMediaPlayer…
    control WindowsMediaPlayer này ở đâu thế nhỉ thầy có thể gởi cho em control này được không …em mới vào nghề còn gà mờ

  32. vovanhai said

    Add reference rồi chọn thẻ COM

  33. HongQuan said

    ban nhan chuot phai va chon Save link as rui doi duoi gjf thanh rar la dc

  34. Nhi said

    tscomboExtension la gi vay thay ?

  35. Bao said

    cho minh hoi… các media player hiện nay có hiển thị các hình đại diện cho bài hát ví dụ như hình của album. trong c# làm cách nào để có thể lấy được hình trong file mp3??
    cảm ơn nhiều!!!

  36. Võ Văn Hải said

    Được bạn à. Tham khảo thử xem: http://sourceforge.net/projects/csid3lib/

  37. phượng said

    thầy ơi có thể hướng dẫn em tạo playlist tren c#.em ko biet lam phan này.

  38. phượng said

    dây là mail của phượng nguyenphuong040486@gamil.com bạn nào có code tao playlist tren c# gui cho p voi.

  39. Hao Long said

    Link mediafire cho các bạn ,
    Mới test lại vẫn còn ok lắm VS-2005,
    Bài của thầy Hải mình có sữa lại 1 ít :

    Còn đây là bài của mình :

  40. Hao Long said

    Bài của thầy Hải :
    http://www.mediafire.com/?lxjdb6xitr218a1
    Bài của mình :
    http://www.mediafire.com/?pa4uvmc8ae8jmig

  41. nam said

    thầy ơi.em muốn lấy các tag của file nhạc thì làm như thế nào ạ?(ví dụ khi em load bai nhạc Còn ta với nồng nàn,em sẽ lấy được bài đó cua ca sỹ Quang Dũng,của tác giả nào,thời gian bao nhiêu phút,trong album nào).mong thầy sớm trả lời giúp em.

  42. Võ Văn Hải said

    Đây là code lấy tag ID3 V1
    Class MusicID3Tag:

    public class MusicID3Tag
    {
    public byte[] TAGID = new byte[3]; // 3
    public byte[] Title = new byte[30]; // 30
    public byte[] Artist = new byte[30]; // 30
    public byte[] Album = new byte[30]; // 30
    public byte[] Year = new byte[4]; // 4
    public byte[] Comment = new byte[30]; // 30
    public byte[] Genre = new byte[1]; // 1

    }

    Class GetID3Tags

    public class GetID3Tags
    {
    public MusicID3Tag GetID3Tag(string filePath)
    {
    MusicID3Tag tag = null;
    using (FileStream fs = File.OpenRead(filePath))
    {
    if (fs.Length >= 128)
    {
    tag = new MusicID3Tag();
    fs.Seek(-128, SeekOrigin.End);
    fs.Read(tag.TAGID, 0, tag.TAGID.Length);
    fs.Read(tag.Title, 0, tag.Title.Length);
    fs.Read(tag.Artist, 0, tag.Artist.Length);
    fs.Read(tag.Album, 0, tag.Album.Length);
    fs.Read(tag.Year, 0, tag.Year.Length);
    fs.Read(tag.Comment, 0, tag.Comment.Length);
    fs.Read(tag.Genre, 0, tag.Genre.Length);
    string theTAGID = Encoding.Default.GetString(tag.TAGID);

    }
    }
    return tag;
    }
    }

    Thử
    string Title = Encoding.Default.GetString(tag.Title);
    string Artist = Encoding.Default.GetString(tag.Artist);
    string Album = Encoding.Default.GetString(tag.Album);
    string Year = Encoding.Default.GetString(tag.Year);
    string Comment = Encoding.Default.GetString(tag.Comment);
    string Genre = Encoding.Default.GetString(tag.Genre);
    Console.WriteLine(Title);
    Console.WriteLine(Artist);
    Console.WriteLine(Album);
    Console.WriteLine(Year);
    Console.WriteLine(Comment);
    Console.WriteLine(Genre);
    Console.WriteLine();

  43. Nguyễn Trung Hiếu said

    Thầy ơi! Em đang làm chức năng mở nhiều mở bài hát nhưng có 1 diều là trong playlist lại hiện thị đường đẫn file, em muốn rút gọn đường dẫn file này thành tên bài hát thì làm sao ah! để nhìn đẹp hơn. Em mò hoài mà chẳng đc. Thầy giúp em với

  44. Nguyễn Trung Hiếu said

    Thầy oi! khi mình xóa bài hát trong playlist thì sao nó vẫn hát ah, chuyển bài nó cũng vẫn hát luôn. Vậy làm sao fix được ah.

  45. Prince Dark said

    thầy, cho em hỏi cái bài My MediaPlayer.rar của thầy (https://vovanhai.wordpress.com/files/2009/06/mymediaplayer.gif)
    Em chạy trên máy, thấy nó hát không đúng bài hát ~~! Double click vào bài này, thì nó hát bài khác hok àh..

  46. coi said

    Em chào thầy.Thầy ơi cho em hỏi muốn làm cho cái bài hát đang chạy có màu khác với các bài hát còn lại thì làm như thế nào được?Và muốn khi nó chuyển sang bài hát khác thì cũng phải đổi màu theo?Em cảm ơn Thầy ah.

  47. Em chào thầy! Thầy ơi cho em hỏi Giờ em muốn tạo một mục Recently File thì em phải làm như thế nào ah?

  48. Thầy cho em hỏi: Mình làm thế nào để 1 bài đang chạy thì màu của nó có màu khác với màu của các bài khác trong listview? Em xin cảm ơn!

  49. LongDoan said

    Share cho mấy bạn cần. Code này tương đối, các bạn xem demo và downl về sửa lại nhé! http://longdoan.info/home/vi/news/CAC-CHUYEN-MUC-KHAC/Share-bo-code-Windows-Media-Player-viet-bang-C-Microsoft-Visual-Studio-2010-40/

  50. Thanh Nam said

    Ai làm chỉ mình cụ thể với đc koh? Mình làm hoài ma vẫn ko đc. Mới vào ngành còn gà mờ lắm :((((((( Help meee

  51. Thanh Nam said

    Ai đã làm đc liên hệ mail:sorry_because_iloveyou991@yahoo.com giúp mjh vs nha .Thanks các b nhiều

  52. Thanh Nam said

    Ai làm đc cho mình code bài này đj các b ??

  53. Thanh Nam said

    Hao Long oi.Mail cua b la j jax ?? Cho mjh dc koh???

  54. Nguyen Hoc said

    Em đang làm Windows Media Palyer với C# cho môn học, nhưng mà thật sự còn nhiều chỗ vướng mắt quá về phần nghe nhạc . Nếu có thể mong mấy thầy demo cho em cái video để em có thể có được cái nhìn tổng quan hơn, và biết đâu đó lượng kiến thức từ video đó có thể giúp được gì để em thoát khỏi vướng mắt mà em đang gặp phải.
    Cảm ơn mọi người!

  55. Nguyễn Học said

    Thưa thầy em đang làm Một chương trình nghe nhạc nhưng mà khi nghe xong bài số 1, thì nó không tự động chuyển sang bài số 2 đã có trong playlist được.
    Mong các thầy chỉ giúp em.

  56. Nguyen Hoc said

    Thầy ơi, cho em hỏi làm sao để cho chương trình nghe nhạc tự động chuyển bài hát khi nó hát hết thời gian. Ví dụ hát hết bài 1 thì tự động sang bài số 2 đã có trong playlist.

  57. Long said

    toàn thấy Thầy cho em hỏi, lâu quá rồi cũng ko thấy Thầy trả lời. em biết thầy cũng rất bận, nhưng hi vọng thậy tạo ra pic thì Thầy cũng có thể giải đáp thắc mắc cho các bạn. cảm ơn thầy

  58. Võ Văn Hải said

    Đóng thread này. Chuyển qua đây

  59. tiền said

    chào thầy, em muốn tạo một đường dẫn tới một file ảnh , rồi mở file ảnh đó trong pictureBox thì phải làm như thế nào vậy thầy

  60. AT said

    minh thay link co bi gi dau nhi.bt ma.minh tai ve xem dc ma

  61. Nguyễn Đặng Hiếu said

    Chào Thầy,
    Cũng liên quan đến ứng dụng nghe nhạc bằng window form đơn giản. Thầy cho em hỏi, muốn đếm số lần nghe 1 bài hát thì mình làm thế nào ạ.
    Cảm ơn thầy

  62. Võ Văn Hải said

    phải có 1 database lưu trữ số lần chơi rồi ghi thôi🙂

  63. thầy ơi cho em hỏi là phần mền media Player ấy em muốn làm cho 2 nút next của phần mèn ấy làm thế nào ak

  64. thầy hướng dẫn gửi qua gmail cho em với ạ. ngoctuanithb@gmail.com em cảm ơn thầy

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: