Cách nhanh chóng và dễ dàng để xem và chỉnh sửa thẻ ID3 (nghệ sĩ, album, v.v.) bằng C # là gì?
Cách nhanh chóng và dễ dàng để xem và chỉnh sửa thẻ ID3 (nghệ sĩ, album, v.v.) bằng C # là gì?
Câu trả lời:
Thirding TagLib sắc nét .
TagLib.File f = TagLib.File.Create(path);
f.Tag.Album = "New Album Title";
f.Save();
TagLib Sharp khá phổ biến.
Như một lưu ý phụ, nếu bạn muốn có một cái nhìn nhanh chóng và bẩn thỉu khi tự mình làm điều đó .. đây là đoạn trích C # tôi tìm thấy để đọc thông tin thẻ của mp3.
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();
}
}
}
Encoding.Default
có thể được thay thế bằng Encoding.UTF8
. Để biết thêm thông tin, hãy truy cập: gigamonkeys.com/book/prreal-an-id3-parser.html
UltraID3Lib ...
Xin lưu ý rằng UltraID3Lib không còn có sẵn chính thức và do đó không còn được duy trì. Xem bình luận bên dưới để biết liên kết đến dự án Github bao gồm thư viện này
//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();
TagLib Sharp có hỗ trợ đọc thẻ ID3.
Tôi đã bọc thư viện giải mã mp3 và cung cấp nó cho các nhà phát triển .net. Bạn có thể tìm thấy nó ở đây:
http://sourceforge.net/projects/mpg123net/
Bao gồm là các mẫu để chuyển đổi tệp mp3 sang PCM và đọc thẻ ID3.
ID3.NET đã triển khai ID3v1.x và ID3v2.3 và hỗ trợ các thao tác đọc / ghi trên phần ID3 trong các tệp MP3. Ngoài ra còn có gói NuGet .