C# 将taglib实现为c音乐播放器

C# 将taglib实现为c音乐播放器,c#,audio-player,taglib-sharp,C#,Audio Player,Taglib Sharp,我正在用c#制作一个音乐播放器,我有歌曲播放/暂停、快进/快退等功能。我唯一找不到解决方案的是在picturebox上显示歌曲名称、艺术家、专辑和专辑艺术。我听说过taglib,但我还没有找到一个明确的方法来实现/使用它。如果还有其他解决方案,我也愿意接受 我也在使用WindowsMediaPlayer类对象,但它不显示唱片集或艺术家,只显示歌曲名称。这里有一个代码片段,显示如何获取所需信息 TagLib.File tagFile = TagLib.File.Create(@"C:\My

我正在用c#制作一个音乐播放器,我有歌曲播放/暂停、快进/快退等功能。我唯一找不到解决方案的是在picturebox上显示歌曲名称、艺术家、专辑和专辑艺术。我听说过taglib,但我还没有找到一个明确的方法来实现/使用它。如果还有其他解决方案,我也愿意接受


我也在使用WindowsMediaPlayer类对象,但它不显示唱片集或艺术家,只显示歌曲名称。

这里有一个代码片段,显示如何获取所需信息

    TagLib.File tagFile = TagLib.File.Create(@"C:\MySong.mp3");

    uint trackNumber = tagFile.Tag.Track;
    string songTitle = tagFile.Tag.Title;
    string artist = tagFile.Tag.AlbumArtists.FirstOrDefault();
    string albumTitle = tagFile.Tag.Album;
    uint year = tagFile.Tag.Year;
    string genre = tagFile.Tag.Genres.FirstOrDefault();

    MemoryStream ms = new MemoryStream(tagFile.Tag.Pictures[0].Data.Data);
    System.Drawing.Image albumArt = System.Drawing.Image.FromStream(ms);

下面是一个代码片段,展示了如何获取所需信息

    TagLib.File tagFile = TagLib.File.Create(@"C:\MySong.mp3");

    uint trackNumber = tagFile.Tag.Track;
    string songTitle = tagFile.Tag.Title;
    string artist = tagFile.Tag.AlbumArtists.FirstOrDefault();
    string albumTitle = tagFile.Tag.Album;
    uint year = tagFile.Tag.Year;
    string genre = tagFile.Tag.Genres.FirstOrDefault();

    MemoryStream ms = new MemoryStream(tagFile.Tag.Pictures[0].Data.Data);
    System.Drawing.Image albumArt = System.Drawing.Image.FromStream(ms);

下面是一个代码片段,展示了如何获取所需信息

    TagLib.File tagFile = TagLib.File.Create(@"C:\MySong.mp3");

    uint trackNumber = tagFile.Tag.Track;
    string songTitle = tagFile.Tag.Title;
    string artist = tagFile.Tag.AlbumArtists.FirstOrDefault();
    string albumTitle = tagFile.Tag.Album;
    uint year = tagFile.Tag.Year;
    string genre = tagFile.Tag.Genres.FirstOrDefault();

    MemoryStream ms = new MemoryStream(tagFile.Tag.Pictures[0].Data.Data);
    System.Drawing.Image albumArt = System.Drawing.Image.FromStream(ms);

下面是一个代码片段,展示了如何获取所需信息

    TagLib.File tagFile = TagLib.File.Create(@"C:\MySong.mp3");

    uint trackNumber = tagFile.Tag.Track;
    string songTitle = tagFile.Tag.Title;
    string artist = tagFile.Tag.AlbumArtists.FirstOrDefault();
    string albumTitle = tagFile.Tag.Album;
    uint year = tagFile.Tag.Year;
    string genre = tagFile.Tag.Genres.FirstOrDefault();

    MemoryStream ms = new MemoryStream(tagFile.Tag.Pictures[0].Data.Data);
    System.Drawing.Image albumArt = System.Drawing.Image.FromStream(ms);

获取艺术品图像时,抛出参数索引超出范围异常。知道为什么以及如何解决吗?可能是因为没有专辑艺术
tagFile.Tag.Pictures[0]
假定至少有一个图像。除非您确定那里有图片,否则您需要进行一些额外的检查,例如
if(tagFile.Tag.Pictures.Any())
。获取艺术品图像时,会抛出参数索引超出范围异常。知道为什么以及如何解决吗?可能是因为没有专辑艺术
tagFile.Tag.Pictures[0]
假定至少有一个图像。除非您确定那里有图片,否则您需要进行一些额外的检查,例如
if(tagFile.Tag.Pictures.Any())
。获取艺术品图像时,会抛出参数索引超出范围异常。知道为什么以及如何解决吗?可能是因为没有专辑艺术
tagFile.Tag.Pictures[0]
假定至少有一个图像。除非您确定那里有图片,否则您需要进行一些额外的检查,例如
if(tagFile.Tag.Pictures.Any())
。获取艺术品图像时,会抛出参数索引超出范围异常。知道为什么以及如何解决吗?可能是因为没有专辑艺术
tagFile.Tag.Pictures[0]
假定至少有一个图像。除非您确定那里有图片,否则您需要进行一些额外的检查,例如
if(tagFile.Tag.Pictures.Any())