Bitmap getThumbnailFromFrameCollection(ID3FrameCollection fc) { Bitmap retrievedPic = null; foreach (ID3v2Frame fra in fc) { if (fra is ID3v2PictureFrame) { ID3v2PictureFrame pfra = (ID3v2PictureFrame)fra; // If we don't have a picture grab the first one if (retrievedPic == null) { retrievedPic = pfra.Picture; } else { // We have a picture, only overwrite if this is cover art if (pfra.PictureType == PictureTypes.CoverFront) { retrievedPic = pfra.Picture; } } } } return(retrievedPic); }
Bitmap GetThumbnailFromID3Tag(string fileName) { UltraID3 myMp3; try { myMp3 = new UltraID3(); myMp3.Read(fileName); ID3FrameCollection myArtworkCollection = myMp3.ID3v2Tag.Frames.GetFrames(MultipleInstanceID3v2FrameTypes.ID3v22Picture); Bitmap tryGetBMP = getThumbnailFromFrameCollection(myArtworkCollection); if (tryGetBMP != null) { return(tryGetBMP); } myArtworkCollection = myMp3.ID3v2Tag.Frames.GetFrames(MultipleInstanceID3v2FrameTypes.ID3v23Picture); tryGetBMP = getThumbnailFromFrameCollection(myArtworkCollection); return(tryGetBMP); } catch { myMp3 = null; } return(null); }
private void Load_MusicInfo() { FileInfo fileInfo = new FileInfo(MusicFile); UltraID3 myFile = new UltraID3(); myFile.Read(fileInfo.FullName); Bitmap musicImgBitmap; ID3FrameCollection myFrames = myFile.ID3v2Tag.Frames.GetFrames(MultipleInstanceID3v2FrameTypes.ID3v23Picture); try { musicImgBitmap = ((ID3v23PictureFrame)myFrames[0]).Picture; picAlbum.Image = musicImgBitmap; } catch { picAlbum.Image = null; } string duration = Getmp3Duration(MusicFile); lblTitle.Text = myFile.ID3v2Tag.Title; lblArtist.Text = myFile.ID3v2Tag.Artist; lblTotalTime.Text = duration; }
private void Load_MusicInfo() { FileInfo fileInfo = new FileInfo(SMusic); UltraID3 myFile = new UltraID3(); myFile.Read(fileInfo.FullName); Bitmap musicImgBitmap; ID3FrameCollection myFrames = myFile.ID3v2Tag.Frames.GetFrames(MultipleInstanceID3v2FrameTypes.ID3v23Picture); try { musicImgBitmap = ((ID3v23PictureFrame)myFrames[0]).Picture; pictureBox1.Image = musicImgBitmap; } catch { pictureBox1.Image = null; } string fileName = fileInfo.Name; double fileSize = fileInfo.Length; string duration = Getmp3Duration(SMusic); fileFolder = fileInfo.Directory.FullName; lblTitle.Text = myFile.ID3v2Tag.Title; lblArtist.Text = myFile.ID3v2Tag.Artist; lblAlbum.Text = myFile.ID3v2Tag.Album; lblPlayTIme.Text = duration; lblMemory.Text = ((fileSize / 1024) / 1024).ToString("N2") + "MB"; }
public void UltraID3Test() { UltraID3 ultraID3 = new UltraID3(); ultraID3.Read(@"e:\Music\Antenne Bayern Radio\Mirror Dawn.mp3"); testContextInstance.WriteLine(ultraID3.Artist); testContextInstance.WriteLine(ultraID3.Genre); //ultraID3.Genre = "Rock"; //ultraID3.Write(); MPEGFrameInfo mpegFrameInfo = ultraID3.FirstMPEGFrameInfo; if (ultraID3.ID3v1Tag.ExistsInFile) { } ID3v2Tag id3v2Tag = ultraID3.ID3v2Tag; ID3FrameCollection frames = id3v2Tag.Frames; for (int i = 0; i < frames.Count; i++) { ID3v2Frame frame = frames[i]; } id3v2Tag.Genre = "Chillout"; ultraID3.Write(); }
private void getAlbumArt() { ID3FrameCollection frames = ID3tag.ID3v2Tag.Frames.GetFrames(MultipleInstanceID3v2FrameTypes.ID3v23Picture); if (frames.Count > 0) { ID3v23PictureFrame image = (ID3v23PictureFrame)frames[0]; albumArtPicBox.Image = image.Picture; picDemensionLabel.Text = image.Picture.Width + " x " + image.Picture.Height; } else { // no picture picDemensionLabel.Text = string.Empty; } }
private void RenderPlaylistTracks(List <FileInfo> mediaFiles, PlaylistType playlist, bool shuffle) { List <TrackType> trackList = new List <TrackType>(); string songPathPrefix = string.Format("{0}/Handlers/Song.ashx?", UtilityMethods.GetFullAppUrlPrefix()); string imagePathPrefix = string.Format("{0}/Handlers/CoverArt.ashx?", UtilityMethods.GetFullAppUrlPrefix()); string noImage = string.Format("{0}/Images/NoCoverArt.jpg", UtilityMethods.GetFullAppUrlPrefix()); foreach (FileInfo mediaFileInfo in mediaFiles) { if (!mediaFileInfo.Exists) { continue; } TrackType trackInfo = new TrackType(); try { UltraID3 mp3Info = new UltraID3(); mp3Info.Read(mediaFileInfo.FullName); if (!mp3Info.ID3v23Tag.FoundFlag && !mp3Info.ID3v23Tag.FoundFlag) { // No tags trackInfo.title = mediaFileInfo.Name.Substring(0, mediaFileInfo.Name.Length - mediaFileInfo.Extension.Length); } else { // Image if (mp3Info.ID3v23Tag.FoundFlag) { ID3FrameCollection pictureFrames = mp3Info.ID3v23Tag.Frames.GetFrames(MultipleInstanceFrameTypes.Picture); if (pictureFrames.Count > 0) // File has picture { trackInfo.image = imagePathPrefix + UtilityMethods.CalcAndStoreFilePathHash(mediaFileInfo.FullName); } } // Title if (mp3Info.Title == null || mp3Info.Title.Length == 0) { trackInfo.title = mediaFileInfo.Name.Substring(0, mediaFileInfo.Name.Length - mediaFileInfo.Extension.Length - 1); } else { trackInfo.title = mp3Info.Title; } trackInfo.meta = new MetaType[1]; trackInfo.meta[0] = new MetaType(); trackInfo.meta[0].rel = "length"; trackInfo.meta[0].Value = mediaFileInfo.Length.ToString(); trackInfo.album = mp3Info.Album; trackInfo.creator = mp3Info.Artist; trackInfo.annotation = mp3Info.Comments; if (mp3Info.TrackNum.HasValue) { trackInfo.trackNum = mp3Info.TrackNum.Value.ToString(); } } } catch { trackInfo.title = mediaFileInfo.Name.Substring(0, mediaFileInfo.Name.Length - mediaFileInfo.Extension.Length); } trackInfo.location = new string[1]; trackInfo.location[0] = songPathPrefix + UtilityMethods.CalcAndStoreFilePathHash(mediaFileInfo.FullName); if (trackInfo.title != null && trackInfo.title.Length > 0) { trackList.Add(trackInfo); } if (trackInfo.image == null || trackInfo.image.Length == 0) { trackInfo.image = noImage; } //System.GC.Collect(); } playlist.trackList = trackList.ToArray(); if (shuffle) { UtilityMethods.ShuffleArray(playlist.trackList); } }
Bitmap getThumbnailFromFrameCollection(ID3FrameCollection fc) { Bitmap retrievedPic = null; foreach (ID3v2Frame fra in fc) { if (fra is ID3v2PictureFrame) { ID3v2PictureFrame pfra = (ID3v2PictureFrame)fra; // If we don't have a picture grab the first one if (retrievedPic == null) retrievedPic = pfra.Picture; else { // We have a picture, only overwrite if this is cover art if (pfra.PictureType == PictureTypes.CoverFront) retrievedPic = pfra.Picture; } } } return retrievedPic; }