【问题标题】:taglib# cannot save changestaglib# 无法保存更改
【发布时间】:2012-03-16 23:08:52
【问题描述】:

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

你能帮帮我吗? 谢谢

【问题讨论】:

  • 如果这确实是您的错误,那么您的问题更多是找出正在使用 MP3 文件的内容。 stackoverflow.com/questions/317071/…stackoverflow.com/questions/177146/… 有帮助吗?除非,您没有打开具有写入权限的流?奇怪的是使用了未使用的 MP3。
  • f.OpenFile() 永远不会返回 null
  • 为什么你认为点击取消意味着Problem occured

标签: c# taglib taglib-sharp


【解决方案1】:

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

不要那样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多