2008-09-16 12 views

उत्तर

168

Thirding TagLib Sharp

TagLib.File f = TagLib.File.Create(path); 
f.Tag.Album = "New Album Title"; 
f.Save(); 
+2

+1। मुझे जिस चीज की जरूरत थी। – David

+1

क्या कोई मुझे बता सकता है कि कलाकार संपत्ति कैसे सेट करें? बहुत से संबंधित गुण हैं (फर्स्ट आर्टिस्ट, कलाकार, जूस आर्टिस्ट्स, फर्स्टप्रॉर्मर) और लगभग सभी ही केवल पढ़ने या बहिष्कृत हैं ... – Laserson

+3

थोड़ा देर हो चुकी है, लेकिन आप निम्नलिखित कलाकारों/कलाकारों को जोड़ सकते हैं: mp3.Tag .Performers = नई स्ट्रिंग [] {"कलाकार 1", "कलाकार 2", "कलाकार 3"}; – nokturnal

15

TagLib Sharp आईडी 3 टैग पढ़ने के लिए समर्थन है।

+0

मैंने यहां अनुशंसा के आधार पर टैगलिब तेज का उपयोग शुरू किया और यह मेरे आवेदन के लिए बहुत अच्छा काम किया (जो केवल एमपी 3 जानकारी के लिए पढ़ा गया था)। – greg7gkb

+0

+1। मुझे जिस चीज की जरूरत थी। – David

+0

नए लिंक स्थान –

62

TagLib Sharp बहुत लोकप्रिय है।

एक साइड नोट के रूप में, यदि आप इसे स्वयं करने में त्वरित और गंदे झुकना चाहते हैं .. यहां एक सी # स्निपेट है जिसे मैंने एमपी 3 की टैग जानकारी पढ़ी है।

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 

} 

string filePath = @"C:\Documents and Settings\All Users\Documents\My Music\Sample Music\041105.mp3"; 

     using (FileStream fs = File.OpenRead(filePath)) 
     { 
      if (fs.Length >= 128) 
      { 
       MusicID3Tag 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); 

       if (theTAGID.Equals("TAG")) 
       { 
        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(); 
       } 
      } 
     } 
+11

के लिए हेविन्स का उत्तर नीचे देखें, यह केवल ID3v1 के लिए है। v2 की एक और संरचना है, यह फ़ाइल की शुरुआत में है (v1 के विपरीत जो अंत में थी) और इसमें चर की लंबाई है (v1 हमेशा 128 बाइट्स है)। – jishi

+2

+1। मुझे जिस चीज की जरूरत थी। – David

+0

मेरे लिए काम नहीं कर रहा है :( –

25

UltraID3Lib ...

//using HundredMilesSoftware.UltraID3Lib; 
UltraID3 u = new UltraID3(); 
u.Read(@"C:\mp3\song.mp3"); 
//view 
Console.WriteLine(u.Artist); 
//edit 
u.Artist = "New Artist"; 
u.Write(); 
+0

+1 यह अब तक का सबसे अच्छा लाइब्रेरी है - चूंकि 'अल्ट्राइड 3 लिब निर्दिष्ट सत्तर-चार प्रकार के फ़्रेम निर्दिष्ट करता है आईडी 3 v2.3 'के साथ-साथ शुरुआती ID3v1 टैग्स में भी। सर्वश्रेष्ठ उत्तर – James

+0

+1 एमपी 3 मेटाडाटा – amrswalha

+1

से निपटने के लिए उपयोग करना आसान और आसान तरीका है मैंने हाल ही में इसका उपयोग किया और यह बहुत अच्छा काम करता है और प्रक्रिया को बोझ नहीं करता है यह तेज़ और उपयोग करने में आसान है और आईडी 3 संस्करण 1 और 2 में मौजूद प्रत्येक टैग के लिए खाते हैं (आप दोनों एक या एक या दूसरे में उपयोग कर सकते हैं)। यह मेरे लिए आवश्यक तरीका है। इसमें भी बहुत कुछ था comprehe nsive सहायता फ़ाइल। मैं इसे सबको सलाह दूंगा। – fredsbend

2

मैंने एमपी 3 डीकोडर लाइब्रेरी लपेट ली और इसे .NET डेवलपर्स के लिए उपलब्ध कराया। आप इसे यहाँ पा सकते हैं:

http://sourceforge.net/projects/mpg123net/

शामिल नमूने पीसीएम के लिए एमपी 3 फ़ाइल बदलने, और ID3 टैग को पढ़ने के लिए कर रहे हैं।

1

ID3.NET लागू आईडी 3v1.x और ID3v2.3 और एमपी 3 फ़ाइलों में आईडी 3 अनुभाग पर पढ़ने/लिखने के संचालन का समर्थन करता है। एक NuGet package भी उपलब्ध है।

0

बस इसे कहीं दस्तावेजीकरण:

मैं नेट कोर 2. अन्य विकल्पों के लिए taglib-तीव्र पुन: संयोजित करने के लिए यह (id3lib और अधिक) करने के लिए नेट कोर के लिए काम नहीं किया में सक्षम था।

संबंधित मुद्दे