private Frame CreateV3Frame(Stream stream) { // Frame ID $xx xx xx xx (four characters) var frameIDBytes = stream.Read(4); if (frameIDBytes[0] == 0) return null; string FrameID = ByteHelper.BytesToString(frameIDBytes); Frame F = new Frame(FrameID); // Size $xx xx xx xx int DataSize = ByteHelper.GetInt32FromBytes(stream.Read(4)); // Flags $xx xx F.SetFlags(stream.Read(2)); if (FrameID[0] == 'T') F.FrameData = readTextFrame(stream, DataSize); else if (FrameID == "APIC") { //<Header for 'Attached picture', ID: "APIC"> //Text encoding $xx //MIME type <text string> $00 //Picture type $xx //Description <text string according to encoding> $00 (00) //Picture data <binary data> F.FrameData = "Images - currently not supported"; stream.Seek(DataSize, SeekOrigin.Current); } else F.FrameData = ByteHelper.BytesToString(stream.Read(DataSize)); return F; }