2011-10-14 38 views
2

在我的C#應用​​程序中,我正在爲mp3文件創建標籤。爲此,我使用TagLib庫/擴展。正在發佈資源 - 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是對藝術作品的完整路徑。

分配到的圖片標籤之後,我用:現在

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(),但這並沒有成功。

任何幫助表示讚賞。

回答

1

對不起,我似乎只是自己找到了錯誤。

在我的代碼中的一個地方,在標籤創建之前,我正在將文件加載到一個picturebox中。它存儲在一個位圖中。

現在我在創建標籤之前處理()此位圖,並且一切正常。文件現在可以移動。