2012-12-02 41 views
0

我使用下面的API https://gist.github.com/1285901讀取MP3標籤從目錄中的文件

我到目前爲止的代碼,但是當它試圖讀取標籤,他們都返回空白(由標籤我的意思是藝術家信息ECT)

using System; 
using System.IO; 
using Microsoft.WindowsAPICodePack.Shell; 
using Microsoft.WindowsAPICodePack; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Files(); 
      Console.Read(); 
     } 
     public static void Files() 
     { 
      FileInfo fi = new FileInfo(@"C:\Users\santised\Desktop\music\"); 
      DirectoryInfo di = fi.Directory; 
      FileSystemInfo[] fsi = di.GetFiles(); 
      foreach (FileSystemInfo info in fsi) 
      { 
       Console.Write(info.Name.Replace(".mp3", "") + " Tags: " + Tags(@"C:\Users\santised\Desktop\music\" + info.Name) + "\r\n"); 
      } 
     } 
     public static String Tags(String fileName) 
     { 
      if (File.Exists(fileName)) 
      { 
       var file = new FileInfo(fileName); 
       String returnval = String.Join("; ", file.GetTags()); // .GetTags() is from the api on gist hub 
       return returnval; 
      } 
      return "None;"; 
     } 
    } 
} 

回答

0

您使用的庫檢索屬於Windows內文件的標籤:它不檢索MP3元數據(ID3)標籤。您需要找到能夠讀取ID3標籤的庫,例如TagLib Sharp

0

您可以使用標籤庫鋒利

下載從here

,然後嘗試

var file = TagLib.File.Create(address); 
       var t1 = file.Tag.Copyright; 
       var t2 = file.Tag.Album; 
       var t3 = file.Tag.AlbumArtists; 
       var t4 = file.Tag.Title; 
       var t5 = file.Tag.Comment ; 
       var t6 = file.Tag.Composers ; 
       var t7 = file.Tag.Conductor ; 
       var t8 = file.Tag.Grouping; 
       var t9 = file.Tag.Artists ;