最近在用winform做一個音樂播放器缔俄,在數據獲取這塊我碰到了一點問題烙懦,就是如何動態(tài)獲取當前選取的MP3文件的專輯圖片。在網上找了相關的資料昆烁,奈何才疏學淺吊骤,沒看懂如何使用,后來又了解到TagLib可以解決這個需求静尼,于是自己試了試白粉,確實比較方便。
首先引用TagLib.dll鼠渺,直接在vs的NuGet包管理中下載:
image.png
然后調用文件
private void bunifuFlatButton3_Click(object sender, EventArgs e)
{
//獲取指定文件夾中的MP3文件
var x = System.IO.Directory.GetFiles(@"D:\CloudMusic", "*.mp3", SearchOption.AllDirectories);
var y = x.Length;
//將得到的文件實例化鸭巴,x[1]為MP3路徑
TagLib.File xxxx = TagLib.File.Create(x[1]);
//歌曲屬性均在實例文件的tag屬性屬性中
string artist = xxxx.Tag.FirstArtist;
string title = xxxx.Tag.Title;
不一定每首歌都有專輯圖片,需要判斷
if(xxxx.Tag.Pictures.Length>=1)
{
//tag中的圖片信息為byte數組拦盹,需要用函數進行轉化
byte[] bin = xxxx.Tag.Pictures[0].Data.Data;
//pictureBox2.Image = ReturnPhoto(bin);//轉化函數
}
//string image = xxxx.Tag.Pictures[0].;
}
圖片轉化函數
public System.Drawing.Image ReturnPhoto(byte[] streamByte)
{
System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
return img;
}
結語鹃祖,例子中只例舉部分屬性,其余的大家可以自己查看普舆。
原創(chuàng)文章恬口,轉載請注明出處~