taglib# を使用して、ファイル名から解析されたメタデータとして mp3 のタイトルとアーティスト名を入力しています。これを行うために、私は基本的にファイル名のリストをループし、名前を解析し、taglib ファイルを作成し、タグを変更し、taglib ファイルを保存して破棄します。奇妙なことに、私の環境では、最初のファイルが正常に変更された後、タグが入力として受け取ることができる文字列に最大長があるように見えることに気付きました。
これは私が現在実行している小規模な例です。
foreach (string path in files)
{
using (TagLib.File f = TagLib.File.Create(path))
{
f.Tag.Title = "000000000011111111112222222222333333333344444444445555555555"
f.Save();
}
}
出力として、最初に触れたファイルには正しいタイトル フィールドがあります。
000000000011111111112222222222333333333344444444445555555555
しかし、それ以降の各ファイルには次の部分しかありません。
000000000011111111112222222222
エクスプローラーで確認できます:
フィールドを変更しても、結果は同じです。また、taglib ファイルで Dispose() を明示的に呼び出しても、何も変更されません。これはなぜですか?