0

カスタム タグを読み込んで MP3 ファイルに書き込もうとしています。ここでこのコードに従いました。tagLib シャープ ライブラリを使用してカスタム タグを追加する

私は Visual Studio 2015 を使用しており、次のことを行いました。NuGet を使用して taglib-sharp をインストールし、Visual Studio のパッケージ マネージャー コンソールで次のコマンドを実行します。

PM> インストール パッケージ taglib

次に、C# コードを追加しました。

 private void Write_Click(object sender, EventArgs e)
    {
    TagLib.Id3v2.Tag.DefaultVersion = 3;
    TagLib.Id3v2.Tag.ForceDefaultVersion = true;
    File f = File.Create(@"c:\Boy.mp3"); 
    TagLib.Id3v2.Tag t = (TagLib.Id3v2.Tag)f.GetTag(TagTypes.Id3v2);
    PrivateFrame p = PrivateFrame.Get(t, "CustomKey", true);
    p.PrivateData = System.Text.Encoding.Unicode.GetBytes("Sample Value");
    f.Save();
    f.Dispose();
    }

    private void Read_Click(object sender, EventArgs e)
    {
    File fa = File.Create(@"c:\Boy.mp3");
    TagLib.Id3v2.Tag ta = (TagLib.Id3v2.Tag)fa.GetTag(TagTypes.Id3v2);
    PrivateFrame pa = PrivateFrame.Get(ta, "CustomKey", false);
    string data = Encoding.Unicode.GetString(pa.PrivateData.Data);
    MessageBox.Show(data);
    }

ここで Read_Click をクリックすると失敗します。これは、カスタム タグを記述していないためです。
Write_Click をクリックすると、ファイルの変更日が変更されますが、元の ID3v2 だけでなく ID3v1 タグも取得されますが、Mp3Tag でファイルを開くと、カスタム タグが表示されません。しかし、Read_Click をクリックすると値が表示されます。

だから私は混乱しています。

  1. ID3v1 タグを取得する理由
  2. Mp3Tag でカスタム タグが表示されない理由
  3. 16 進エディタでファイルを開くと、「サンプル値」が表示されません

私は何を間違っていますか??

よろしくお願いいたします。

4

1 に答える 1