public override void WriteToStream(System.IO.Stream stream) { ExtendedTextFrame frame = (ExtendedTextFrame)this.FrameToWrite; List <Field> fields = new List <Field>(); // Declare the fields to write. fields.Add(new SingleByteField((byte)this.Encoding)); if (frame.Language == LanguageCode.Unknown) { fields.Add(new FixedLengthAsciiTextField("XXX")); } else { fields.Add(new FixedLengthAsciiTextField(frame.Language.ToString())); } fields.Add(TextField.CreateTextField(frame.Description, this.Encoding)); fields.Add(TextField.CreateTextField(frame.Text, this.Encoding)); // Write the header int length = 0; foreach (Field f in fields) { length += f.Length; } HeaderWriter.WriteHeader(stream, new FrameHeader(this._frameID, length)); // Write the fields foreach (Field f in fields) { f.WriteToStream(stream); } }
public ExtendedTextFrameWriter(ExtendedTextFrame frameToWrite, string frameID, FrameHeaderWriter headerWriter, EncodingScheme encoding) : base(frameToWrite, headerWriter,frameID,encoding) { this._frameID=frameID; }
public ExtendedTextFrameWriter(ExtendedTextFrame frameToWrite, string frameID, FrameHeaderWriter headerWriter, EncodingScheme encoding) : base(frameToWrite, headerWriter, frameID, encoding) { this._frameID = frameID; }