0

我正在运行以下代码:

TagLib.File f = TagLib.File.Create(path);
f.Tag.AlbumArtists = f.Tag.Artists = new string[] { "артист" };
f.Tag.Title = "песня";
f.Save();

id3v1和标签都已id3v2设置,但只有id3v2标签设置正确。v1 标签只显示“????????” 问号而不是字母。

有人能帮我吗?谢谢!

4

2 回答 2

2

ID3v1 是旧标准,仅支持ANSI 字符

在此处查看更多信息。

于 2012-09-18T19:41:13.163 回答
1

不幸的是,TagLib 在里面做了一些编码。我已经测试了 100 多个 mp3 文件。我真的很困惑:为什么我可以用 TAG 内的 CYR 文本更新其中一些,但同时其中一些有“??????”。相同的代码!

我已经结合了标签和属性 - 没有什么不同。但!有些文件有 2 个标签“集合”:ID3v2、ID3v2 和 ID3v1。在这种情况下,我可以使用 CYR 字符更改标签。这意味着“ID3v2,ID3v2”我没有解开。为什么 2 相同 - 没有答案。

我看了一下 TagLib# 的一些代码,并喜欢那里的“this.encoding = ...”。之后,我停止分析“为什么”和“在哪里”。

Vlad L,只需对这些文件使用 Translit。我的东西 TagLib# 检测字符集,让你没有机会改变它(1251!= 1252 等)

于 2013-02-01T17:20:24.057 回答