Erron on file.Save()'大小小于零'

时间:2017-08-16 18:12:52

标签: c# taglib wma

我刚创建了一个小程序,可以让我更改音频文件的详细信息。

我想改变:

  • 标题
  • AlbumArtist
  • 表演
  • 相册
  • 图片

taglib库允许我使用完全相同的代码更改不同类型的音频文件。

对我来说,以下代码与扩展程序.m4amp3完全正常,但只要我尝试更改某些.wma文件,就会发生奇怪的错误。< / p>

public void changeAttributes(string filePath, string title, string interpret, string album)
{
    TagLib.File file = TagLib.File.Create(filePath);

    file.Tag.Title = title;                                 //Titel
    file.Tag.AlbumArtists = new String[] {interpret};       //AlbumArtist
    file.Tag.Performers = new String[] { interpret };       //Performers
    if (!album.Equals("")) { file.Tag.Album = album; }      //Album (if there is no album given, it won´t be overwritten)

    if (!albumCoverPath.Equals("")) {
        file.Tag.Pictures = new IPicture[] { (IPicture)new Picture(albumCoverPath) };
    }   //Album-Cover (if there is no image given, it won´t be overwritten)

    file.Save();
}

将三个.wma-files放入我正在测试的文件夹中后,代码停止并让我进入file.Save();行的调试器,错误

System.ArgumentOutOfRangeException:“大小小于零。”

检查调试器中的file - 对象时,我找不到可以解释错误发生的任何内容。

修改

删除更改AlbumArtists的行后,代码运行正常。

在更改除AlbumArtists之外的所有内容之后,我可以再次插入代码行,并且运行时没有错误。 谁能告诉我这种奇怪的行为是怎么来的?

有什么建议吗?

0 个答案:

没有答案