1. Lấy được các playlist của hệ thống chung với chương trình WMP của Windows
2. Cho phép thêm, xóa,.. playlist
3. Thêm/xóa media theo files, thưc mục vào 1 playlist
4. Xem thông tin ID3 tag của media.
5. Lấy lyric của media hiể thị
6. …
Media ở đây là mọi thứ nghe/nhìn/… như nhạc, hình video, audio, …
Về giao diện thì hơi xấu 1 tý. Các bạn nên customize lại cho đẹp. Sau khi xong, giao diện chính như sau:
Khi chuyển media, nếu media của bạn có gắn lyric(tạm gọi là lời nhạc) thì chương trình tự động load lời nhạc đó lên hiển thị, dạng như sau:
Nhấn chuột phải lên All Playlists sẽ cho chúng ta menu thêm 1 playlist mới vào hệ thống WMP
Khi nhấn phải chuột lên 1 playlist sẽ cho menu
Cho phép thêm 1 folder các bài nhạc vào playlist; thêm 1 tập các files lựa chọn vào playlist, clear playlist và remove playlay khỏi hệ thống.
Khi bạn double-click vào 1 playlist, danh sách các bài nhạc sẽ được load vào wmp và chơi bài đầu tiên của playlist.
Nhấn phải chuột lên 1 bài nhạc trong danh sách ta có 1 menu
Cho phép thêm files, folder,… vào playlist hiện tại.
Đặc biệt khi bạn chọn mục Media Informations, một cửa sổ các thuộc tính của media hiện tại hiện ra như sau:
Nếu bài nhạc/media chưa có lyric, bạn có thể thêm vào nhấn nút cập nhật. Chương trình sẽ thêm vào bài nhạc. Việc thêm các thuôc tính ID3 khác cũng rất dễ dàng.
Đó là giới thiệu tý về chương trình. Còn bây giờ là code nhỉ!
Code để load tất cả các playlist hiện có của WMP
using WMPLib; … IWMPPlaylistCollection col = player.playlistCollection; IWMPPlaylistArray arr = col.getAll(); for (int i = 0; i < arr.count; i++) { String playlistName=arr.Item(i).name; //xử lý nó } |
Thêm 1 playlist mới
IWMPPlaylist pl = player.playlistCollection.newPlaylist(plname); |
Xóa 1 playlist
IWMPPlaylist selPL = //??playlist cần xóa IWMPPlaylistCollection col = player.playlistCollection;//player là WMP control col.remove(selPL); |
Thêm 1 bài hát vào playlist:
IWMPPlaylist currentPlaylist=//??playlist đang chơi IWMPMedia media = player.newMedia(file path của bạn); currentPlaylist.appendItem(media); |
Trong bài có tham khảo đến Lyric fetching của Phillip Piper. Bạn có thể viết thêm để lấy lyric từ các lyric server database trên mạng nhưhttp://lyricwiki.org hay http://webservices.lyrdb.com,… (phần này tôi đã trích ra trong dự án lyric fetching J nhưng chưa đưa vào chương trình do bận quá)
Ngoài ra trong project còn dùng thư viện taglib-sharp-2.0.4.0 của Brian Nickel brian.nickel@gmail.com để lấy Lyric (metadata) của các file media (phần này cực hay – bạn tha hồ bơi lội torng đó L)
Code “trọn gói” của nó bạn có thể tải về ở phía trên bài viết.
Bộ cài đặt dùng thử download ở đây.
Bạn nào viết thêm có gì hay thì up bài lên cho các bạn khác tham khảo.
Chú ý: Bộ VS ở đây tôi sử dụng là VS2008, NetFX là 3.5. Bạn có thể dùng VS2010 với NetFX 4.0 nhưng nếu bạn dùng NetFX 2.0 sẽ bị lỗi.