taglib# не может сохранить изменения

Я хотел бы пометить некоторые существующие mp3 с помощью taglib#. У меня появляется следующее сообщение об ошибке: "Процесс не может получить доступ к файлу, потому что он используется другим процессом". Я не знаю, что это за процесс. Я могу получить доступ к любым файлам 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 ответ

f.OpenFile() создает FileStream вокруг файла.
Поскольку вы никогда не закрываете этот поток, файл остается открытым.

Не делай этого.

Другие вопросы по тегам