C# 使用Tagliib在文件中列出扩展标记

C# 使用Tagliib在文件中列出扩展标记,c#,tags,taglib-sharp,C#,Tags,Taglib Sharp,我正在使用.flac音频文件,这些文件使用扩展标记来实现一点魔力。有一个名为ReleaseGuid的标记。我希望能够列出内容或创建标签,如果它不存在。我已经三天没有把头撞到墙上了。我已经找到了一种添加usertextinformation框架的方法……尽管我看不到它的值,只是所有者。请帮我弄清楚 下面是至少可以编译的代码行,它们似乎做了些什么。 我需要让它达到我可以添加所需标签的程度 File objFile = TagLib.File.Create(path); TagLib.Id3v2.

我正在使用.flac音频文件,这些文件使用扩展标记来实现一点魔力。有一个名为ReleaseGuid的标记。我希望能够列出内容或创建标签,如果它不存在。我已经三天没有把头撞到墙上了。我已经找到了一种添加usertextinformation框架的方法……尽管我看不到它的值,只是所有者。请帮我弄清楚

下面是至少可以编译的代码行,它们似乎做了些什么。 我需要让它达到我可以添加所需标签的程度

File objFile = TagLib.File.Create(path);
  TagLib.Id3v2.Tag id3v2tag = (TagLib.Id3v2.Tag)objFile.GetTag TagLib.TagTypes.Id3v2, true);

if (id3v2tag != null)
        {
            // Get the private frame, create if necessary.
            PrivateFrame frame = PrivateFrame.Get(id3v2tag, "Mytag", true);


            frame.PrivateData = System.Text.Encoding.Unicode.GetBytes "MyInfo");
            id3v2tag.AddFrame(frame);
        }
我已经使用mp3tag通过点击“扩展标签”来查看我需要的标签。
如果我可以使用mp3tag添加这些标签,它们将是哪种类型的标签?如何使用taglib读取/写入它们?

要搜索标记类型,您可以在文本编辑器(如记事本+)中打开(.flac)音频文件并搜索“ReleaseGuid”。在该ID前面,您将看到类似TXX或PRIV或COMM的类型


或者您可以查看在音频文件中写入此“ReleaseGuid”的程序的文档(源代码?)。

我假设您已经使用类似于objFile.SAVE()的内容将修改内容保存回文件中?是的,我保存了修改的内容……问题是,如果没有标签,我无法找到需要更改或创建的标签。我可以结合使用代码和mp3tag软件来实现这一点……但我不想这样做。这里有一个powershell解决方案:它使用与我试图在代码中使用的相同的库taglib sharp。“标签”中的信息,“03_You_shake_Me…”部分就是我要找的。很容易获得与mp3或flac文件关联的普通标记…我只是不知道在哪里可以找到标记…有人能帮忙吗?dir M:\Music\test | Foreach Object{get MediaInfo$\ FullName}相册:相册艺术家:艺术家:StartTag:TagLib.NonContainer.StartTag标记:{03你震撼了我[PHC]1423f043527cec76ae181bd9fb9a3cab067facce916f6cc819de630da9903bbc[replaygain_track_gain]-5.36dB[Tool Name]PonoMusic World[Tool Version]20.0.36,TagLib.Id3v1.Tag}标题:03 You Shake MeOK…我在文件中找到了我要查找的标记…但是前面没有标记类型。我可以看到get mediainfo的源代码…有add member语句可以向tagfile.file.create语句创建的对象附加附加标记。它们添加属性“tag”和“property”。我可以使用选择对象标记来隔离标记。然后,我可以使用|查找“PHC”来获得我想要的行,然后将其放入文件中…这是一个很难解决的问题,在c中应该很容易。