public void AddFile(uint id, Stream audioStream, Stream metadataStream) { SoundbankEntry entry = new SoundbankEntry(this); entry.Info.FileId = id; if (metadataStream != null) entry.Info.MetadataLength = (uint)metadataStream.Length; else entry.Info.MetadataLength = 0; entry.Info.AudioLength = (uint)audioStream.Length; m_AudioStreams.Add(audioStream); m_MetadataStreams.Add(metadataStream); Files.Add(entry); }
public StreamingSoundbank(Stream s) { DataStream = new MemoryStream(); s.CopyTo(DataStream); DataStream.Seek(0, SeekOrigin.Begin); Header = DataStream.ReadStruct<SoundbankHeader>(); if (Header.Signature != 0x42535756) throw new InvalidDataException("File is not a streaming soundbank."); for (int i = 0; i < Header.NumFiles; i++) { var fileInfo = DataStream.ReadStruct<SoundbankEntryInfo>(); var entry = new SoundbankEntry(this, fileInfo); Files.Add(entry); } }