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テキストで更新できますが、同時にそれらのいくつかは「?????」を持っています. 同じコード!

タグとプロパティを組み合わせましたが、違いはありません。しかし!一部のファイルには、ID3v2、ID3v2、および ID3v1 の 2 つのタグ「コレクション」があります。この場合、タグを CYR 文字で変更できます。それが「ID3v2、ID3v2」の意味を理解していませんでした。なぜ2つの同じ - 答えはありません。

TagLib# のいくつかのコードを見て、「this.encoding = ...」が好きです。その後、「なぜ」と「どこで」を分析するのをやめました。

Vlad L さん、これらのファイルには Translit を使用してください。TagLib# は文字セットを検出し、それを変更する機会を与えません (1251 != 1252 など)。

于 2013-02-01T17:20:24.057 に答える