Пример #1
0
        protected override Id3Tag[] GetTagInfo(Id3Tag tag)
        {
            var windowsMediaPlayer = new WindowsMediaPlayerClass();

            try
            {
                IWMPPlaylist albumContents = windowsMediaPlayer.mediaCollection.getByAlbum(tag.Album.Value);
                IWMPMedia    albumTrack    = null;
                for (int contextIdx = 0; contextIdx < albumContents.count; contextIdx++)
                {
                    string artistContent = albumContents.get_Item(contextIdx).getItemInfo("Artist");
                    if (string.Compare(artistContent, string.Join("/", tag.Artists.Value), StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        albumTrack = albumContents.get_Item(contextIdx);
                        break;
                    }
                }

                if (albumTrack != null)
                {
                    string collectionId = albumTrack.getItemInfo("WM/WMCollectionID");
                    var    largePicture = new PictureFrame();
                    largePicture.SetPicture(
                        Image.FromFile(string.Format("{0}\\AlbumArt_{1}_Large.jpg", Path.GetDirectoryName(albumTrack.sourceURL),
                                                     collectionId)));
                    var smallPicture = new PictureFrame();
                    smallPicture.SetPicture(
                        Image.FromFile(string.Format("{0}\\AlbumArt_{1}_Small.jpg", Path.GetDirectoryName(albumTrack.sourceURL),
                                                     collectionId)));

                    var result = new Id3Tag();
                    result.Pictures.Add(largePicture);
                    result.Pictures.Add(smallPicture);
                    return(new[] { result });
                }

                return(Id3Tag.Empty);
            }
            catch
            {
                return(Id3Tag.Empty);
            }
            finally
            {
                windowsMediaPlayer.close();
            }
        }