Пример #1
0
 public MpegAudio(string path)
 {
     this.ResetData();
     using (BinaryReader reader1 = new BinaryReader(File.Open(path, FileMode.Open, FileAccess.Read, FileShare.Read)))
     {
         int num1 = ID3v2Helper.GetTagSize(reader1.BaseStream);
         this.m_FileLength = reader1.BaseStream.Length;
         reader1.BaseStream.Seek((long)num1, SeekOrigin.Begin);
         byte[] buffer1 = reader1.ReadBytes(0xd82);
         this.FindFrame(buffer1, ref this.m_VBR);
         this.m_VendorID = this.FindVendorID(buffer1);
         if (!this.m_Frame.Found)
         {
             reader1.BaseStream.Seek((this.m_FileLength - num1) / ((long)2), SeekOrigin.Begin);
             buffer1 = reader1.ReadBytes(0xd82);
             this.FindFrame(buffer1, ref this.m_VBR);
         }
         if (this.m_Frame.Found && string.IsNullOrEmpty(this.m_VendorID))
         {
             reader1.BaseStream.Seek((long)-(buffer1.Length + ID3v1Helper.GetTagSize(reader1.BaseStream)), SeekOrigin.End);
             buffer1 = reader1.ReadBytes(0xd82);
             this.FindFrame(buffer1, ref this.m_VBR);
             this.m_VendorID = this.FindVendorID(buffer1);
         }
     }
     if (!this.m_Frame.Found)
     {
         this.ResetData();
     }
 }