/// <summary> /// Create new TextWithLanguageFrame /// </summary> /// <param name="FrameID">4 Characters tag identifier</param> /// <param name="Flags">2 Bytes flags identifier</param> /// <param name="Data">Contain Data for this frame</param> internal TextWithLanguageFrame(string FrameID, FrameFlags Flags, FileStreamEx Data, int Length) : base(FrameID, Flags) { TextEncoding = (TextEncodings)Data.ReadByte(); Length--; if (!IsValidEnumValue(TextEncoding, ValidatingErrorTypes.ID3Error)) { _MustDrop = true; return; } _Language = new Language(Data); Length -= 3; _Description = Data.ReadTextEx(Length, TextEncoding, ref Length, true); Text = Data.ReadText(Length, TextEncoding); }