我正在运行以下代码:
TagLib.File f = TagLib.File.Create(path);
f.Tag.AlbumArtists = f.Tag.Artists = new string[] { "артист" };
f.Tag.Title = "песня";
f.Save();
设置了id3v1
和id3v2
个标记,但只设置了id3v2
个标记。 v1标签只显示“????????”问号而不是字母。
有人能帮助我吗? 谢谢!
答案 0 :(得分:2)
ID3v1是旧标准,仅支持ANSI characters。
查看更多信息here。
答案 1 :(得分:1)
Unfortunatley,TagLib在里面做了一些编码。我已经测试了100多个mp3文件。我真的很困惑:为什么有些人我可以用TAG里面的CYR文本更新,但同时他们中的一些人有“?????”。相同的代码!
我结合了标签和属性 - 没有什么不同。但!有些文件有2个标签“集合”:ID3v2,ID3v2和ID3v1。在这种情况下,我可以使用CYR字符更改标签。这意味着什么“ID3v2,ID3v2”我没有做到这一点。为什么2相同 - 没有答案。
我看看TagLib#的一些代码,并喜欢那里“this.encoding = ...”。在那之后我停止分析“为什么”和“在哪里”。
Vlad L,只为这些文件使用Translit。我的事情TagLib#检测charset并且没有机会改变它(1251!= 1252等)