gpt4 book ai didi

c# - 编辑mp3 id3歌词数据c#

转载 作者:行者123 更新时间:2023-11-30 15:35:57 25 4
gpt4 key购买 nike

我见过很多编辑艺术家和专辑信息等的解决方案,但是有没有办法编辑 mp3 id3 数据中的歌词?有这方面的软件,但我想问一下是否有办法用 c# 对此进行编程。假设我的所有音乐文件都有文本文件中的歌词,我该如何将它们放入 mp3 文件中?

谢谢。

最佳答案

没有针对此的内部内置解决方案,您将不得不使用外部库,例如:

http://sourceforge.net/projects/csid3lib/

http://id3.codeplex.com/

后者看起来更完整,功能更丰富。

例如获取一个文件的歌词:

string[] mp3Files = Directory.GetFiles(_mp3Directory, "*.mp3");

InfoProvider chartLyricsProvider = new ChartLyricsInfoProvider();
InfoProvider lyrDbLyricsProvider = new LyrDbInfoProvider();
foreach (string mp3File in mp3Files)
{
Console.Write(Path.GetFileNameWithoutExtension(mp3File));

Id3Tag tag;
using (var mp3 = new Mp3File(mp3File))
tag = mp3.GetTag(Id3TagFamily.FileStartTag);
if (tag == null)
continue;

if (!tag.Artists.IsAssigned || !tag.Title.IsAssigned)
{
Console.WriteLine();
continue;
}

Console.WriteLine(" ({0} - {1})", tag.Artists.Values[0], tag.Title.Value);

Id3Tag[] lyricsTags = GetLyrics(tag, chartLyricsProvider, lyrDbLyricsProvider);
if (lyricsTags == null || lyricsTags.Length == 0)
continue;

string outputFilename = string.Format("{0} - {1}.txt", tag.Artists.Values[0], tag.Title.Value);
string outputFile = Path.Combine(_outputDirectory, outputFilename);
using (var lyricsWriter = new StreamWriter(outputFile, false))
lyricsWriter.Write(lyricsTags[0].Lyrics[0].Lyrics);

Console.WriteLine(" {0}", outputFilename);
}

我相信在浏览完这两个库的文档后,您可以找到如何分配歌词。

关于c# - 编辑mp3 id3歌词数据c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14308699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com