在我的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没有被处理。该进程无法访问该文件,因为其他进程正在使用该文件。
我根本不知道“释放”所使用的艺术品文件的资源(它可能是一个.jpg文件)。正如您所看到的,我在上面尝试了that(),但这并没有起作用。
任何帮助都是非常感谢的。
发布于 2011-10-14 21:38:05
抱歉,好像我自己发现了错误。
在代码中的一个位置,在创建标记之前,我将文件加载到picturebox中。它存储在位图中。
现在,我在创建标记之前释放()这个位图,一切都很好。现在可以移动文件。
https://stackoverflow.com/questions/7772882
复制相似问题