1

我想用 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");
}

你可以帮帮我吗?谢谢

4

1 回答 1

2

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

不要那样做。

于 2012-03-16T23:12:47.763 回答