public bool Create(int sampleRate, int bitsPerSample, List <PcmSamples1Channel> samples) { int subChunk2Size = samples[0].NumSamples * (bitsPerSample / 8) * samples.Count; int chunkSize = subChunk2Size + 36; rcd = new RiffChunkDescriptor(); rcd.Create(chunkSize); fsc = new FmtSubChunk(); if (!fsc.Create((ushort)samples.Count, (uint)sampleRate, (ushort)bitsPerSample)) { return(false); } dsc = new DataSubChunk(); dsc.Create((uint)subChunk2Size, samples); return(true); }
public bool Read(BinaryReader br) { rcd = new RiffChunkDescriptor(); if (!rcd.Read(br)) { return(false); } fsc = new FmtSubChunk(); if (!fsc.Read(br)) { return(false); } dsc = new DataSubChunk(); if (!dsc.Read(br, fsc.numChannels, fsc.bitsPerSample)) { return(false); } return(true); }
public bool Read(BinaryReader br) { rcd = new RiffChunkDescriptor(); if (!rcd.Read(br)) { return false; } fsc = new FmtSubChunk(); if (!fsc.Read(br)) { return false; } dsc = new DataSubChunk(); if (!dsc.Read(br, fsc.numChannels, fsc.bitsPerSample)) { return false; } return true; }
public bool Create(int sampleRate, int bitsPerSample, List<PcmSamples1Channel> samples) { int subChunk2Size = samples[0].NumSamples * (bitsPerSample / 8) * samples.Count; int chunkSize = subChunk2Size + 36; rcd = new RiffChunkDescriptor(); rcd.Create(chunkSize); fsc = new FmtSubChunk(); if (!fsc.Create((ushort)samples.Count, (uint)sampleRate, (ushort)bitsPerSample)) { return false; } dsc = new DataSubChunk(); dsc.Create((uint)subChunk2Size, samples); return true; }