gpt4 book ai didi

c# - 释放资源-TagLib文件的artwork标签

转载 作者:太空宇宙 更新时间:2023-11-03 14:11:20 25 4
gpt4 key购买 nike

在我的 C# 应用程序中,我正在为 mp3 文件创建标签。为此,我使用 TagLib 库/扩展。

其中一个标签是艺术品。我可以使用以下方法成功地将艺术作品添加到 mp3 的标签中:

TagLib.File f = TagLib.File.Create(path);
IPicture[] pictures = new IPicture[1];
pictures[0] = new Picture(artwork);
f.Tag.Pictures = pictures;

path 是 mp3 的完整路径,artwork 是艺术品的完整路径。

分配给 Pictures 标签后,我使用:

f.Save();
f.Dispose();

现在,将艺术作品文件移动到计算机上的另一个位置也符合我的兴趣。

为此我使用:

File.Move(pathArtOrig, pathArtNew);

pathArtOrig 是作品文件的当前完整路径,pathArtNew 是它要移动到的位置的完整路径。

问题是我收到以下错误:

IOException was unhandled. The process cannot access the file because it is being used by another process.

我根本不知道要“释放”所使用的艺术品文件的资源(它可能是一个 .jpg 文件)。如您所见,我尝试使用上面的 Dispose(),但这并没有起到作用。

感谢任何帮助。

最佳答案

抱歉,看来是我自己发现了错误。

在我的代码中的一个地方,在创建标签之前,我将文件加载到一个图片框中。它存储在位图中。

现在我在创建标签之前 Dispose() 这个位图,一切都很好。现在可以移动文件。

关于c# - 释放资源-TagLib文件的artwork标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7772882/

25 4 0