taglib#无法保存更改

时间:2012-03-16 23:08:52

标签: c# taglib taglib-sharp

我想用taglib#标记一些现有的mp3。 我有以下错误消息: “该进程无法访问该文件,因为它正由另一个进程使用。” 我不知道它可以是什么样的过程。我可以访问任何硬盘上的任何mp3文件,我也可以使用该文件的属性,但我无法保存更改。

这是代码。

OpenFileDialog f = new OpenFileDialog();
if ((bool)f.ShowDialog())
{
   try
   {
       if ( f.OpenFile() != null)
       {

       TagLib.File file = TagLib.File.Create(f.FileName);                            
       file.Tag.Album = "Album1";
       file.Save();

       }
   }
   catch (Exception ex)
   {
     MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
   }
}
else
{
    MessageBox.Show("Problem occured, try again later");
}
你可以帮帮我吗? 感谢

1 个答案:

答案 0 :(得分:2)

f.OpenFile()在文件周围创建FileStream 由于您从未关闭此流,因此文件仍保持打开状态。

不要那样做。