首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编辑mp3 id3歌词数据c#

编辑mp3 id3歌词数据c#
EN

Stack Overflow用户
提问于 2013-01-14 05:59:45
回答 2查看 2.5K关注 0票数 3

我见过很多编辑歌手和专辑信息等的解决方案,但是有没有办法在mp3 id3 data中编辑歌词呢?有一些软件可以做到这一点,但我想问的是,是否有一种方法可以用c#对其进行编程。假设我的所有音乐文件的歌词都在文本文件中,如何将它们放入mp3文件中?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-14 06:02:37

对此,没有内部内置的解决方案,您必须使用如下的外部库:

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

http://id3.codeplex.com/

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

例如,要获取文件的歌词:

代码语言:javascript
复制
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);
            }

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

票数 4
EN

Stack Overflow用户

发布于 2013-01-14 06:01:32

用谷歌快速搜索一下就发现了这一点。也许它对你有用?

http://sourceforge.net/projects/id3dotnet/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14308699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档