//factChunk ReadFactHeader() - 2004 July 28 //Again, not much to say. public factChunk ReadFactHeader() { fact = new factChunk(); fact.sChunkID = "fact"; fact.dwChunkSize = reader.ReadUInt32(); fact.dwNumSamples = reader.ReadUInt32(); return(fact); }
public WaveFile(string filename) { reader = new WaveFileReader(filename); maindata = reader.ReadMainFileHeader(); maindata.FileName = filename; long chunkSize = 0; string chunkName = null; while (chunkName != "data" && reader.GetPosition() < (long)maindata.dwFileLength && reader.GetPosition() + chunkSize < maindata.dwFileLength) { chunkName = reader.GetChunkName(); switch (chunkName) { case "fmt ": format = reader.ReadFormatHeader(); chunkSize = format.dwChunkSize; break; case "fact": fact = reader.ReadFactHeader(); chunkSize = fact.dwChunkSize; break; case "data": data = reader.ReadDataHeader(); chunkSize = data.dwChunkSize; break; default: //This provides the required skipping of unsupported chunks. // reader.AdvanceToNext(); chunkSize = 0; break; } } }