//获取歌手 private void singer_get(Song song) { string filename = song.Location; MP3 mp3 = new MP3(); Mp3Info mp3Info = mp3.getMP3Info(filename); if (mp3Info.Title != "") { song.Name = mp3Info.Title; } if (mp3Info.Artist != "") { song.Singer = mp3Info.Artist; } else { song.Singer = "未知歌手"; } if (mp3Info.Album != "") { song.Album = mp3Info.Album; } else { song.Album = "未知专辑"; } }
public Mp3Info getMP3Info(string path) { Mp3Info mp3Info = new Mp3Info(); Shell32.Shell sh = new Shell(); Folder dir = sh.NameSpace(System.IO.Path.GetDirectoryName(path)); FolderItem item = dir.ParseName(System.IO.Path.GetFileName(path)); mp3Info.Artist = dir.GetDetailsOf(item, 20); mp3Info.Album = dir.GetDetailsOf(item, 14); mp3Info.Title = dir.GetDetailsOf(item, 21); mp3Info.Comment = dir.GetDetailsOf(item, 24); return(mp3Info); //string[] Info = new string[7]; //Info[0] = "歌曲名:" + dir.GetDetailsOf(item, 21); // MP3 歌曲名 //Info[1] = "艺术家:" + dir.GetDetailsOf(item, 20); //Authors //Info[2] = "专 辑:" + dir.GetDetailsOf(item, 14); // MP3 专辑 //Info[3] = dir.GetDetailsOf(item, 27); // 获取歌曲时长 //Info[3] = "时 长:" + Info[3].Substring(Info[3].IndexOf(":") + 1); //Info[4] = "类 型:" + dir.GetDetailsOf(item, 9); //Info[5] = "比特率:" + dir.GetDetailsOf(item, 22); //Info[6] = "备 注:" + dir.GetDetailsOf(item, 24); }