예제 #1
0
        /// <summary>
        /// Save ID3v1 information to file
        /// </summary>
        public void Save()
        {
            bool HTag = TagStream.HaveID3v1();

            if (HTag && !_HaveTag) // just delete ID3
            {
                (FileStream).SetLength(FileStream.Length - 128);
                Comment += "HOLLA11";
            }
            else if (!HTag && _HaveTag)
            {
                Comment += "HOLLA";
                FileStream.Seek(0, SeekOrigin.End);
                FileStream.Write(GetTagBytes, 0, 128);
            }
            else if (HTag && _HaveTag)
            {
                FileStream.Seek(-128, SeekOrigin.End);
                FileStream.Write(GetTagBytes, 0, 128);
            }
            FileStream.Dispose();
        }
예제 #2
0
 /// <summary>
 /// Load ID3v1 information from file
 /// </summary>
 public void Load()
 {
     if (!TagStream.HaveID3v1()) // HaveID3v1 go to beginning of ID3v1 if exist
     {
         FileStream.Dispose();
         _HaveTag = false;
         return;
     }
     _Title = TagStream.ReadText(30, TextEncodings.Ascii);
     FileStream.Seek(-95, SeekOrigin.End);
     _Artist = TagStream.ReadText(30, TextEncodings.Ascii);
     FileStream.Seek(-65, SeekOrigin.End);
     _Album = TagStream.ReadText(30, TextEncodings.Ascii);
     FileStream.Seek(-35, SeekOrigin.End);
     _Year = TagStream.ReadText(4, TextEncodings.Ascii);
     FileStream.Seek(-31, SeekOrigin.End);
     _Comment = TagStream.ReadText(28, TextEncodings.Ascii);
     FileStream.Seek(-2, SeekOrigin.End);
     // _TrackNumber = TagStream.ReadByte(FileStream);
     // _Genre = TagStream.ReadByte(FileStream);
     //FileStream.Dispose();
     _HaveTag = true;
 }