/// <summary> /// Gets the read size /// </summary> /// <param name="milliseconds">Number of milliseconds to read for</param> /// <returns>Number of bytes to read</returns> public override int GetReadSize(int milliseconds) { int sourceBytes = sourceStream.GetReadSize(milliseconds); if (sourceBytes % sourceStream.BlockAlign != 0) { sourceBytes = sourceBytes / sourceStream.BlockAlign; sourceBytes = (sourceBytes + 1) * sourceStream.BlockAlign; } return(SourceToDest(sourceBytes)); }
/// <summary> /// Creates a Wave file by reading all the data from a WaveStream /// </summary> /// <param name="filename">The filename to use</param> /// <param name="stream">The source WaveStream</param> public static void CreateWaveFile(string filename, WaveStream stream) { using (WaveFileWriter writer = new WaveFileWriter(filename, stream.WaveFormat)) { byte[] buffer = new byte[stream.GetReadSize(4000)]; while (true) { int bytesRead = stream.Read(buffer, 0, buffer.Length); if (bytesRead == 0) break; writer.WriteData(buffer, 0, bytesRead); } } }
/// <summary> /// Creates a Wave file by reading all the data from a WaveStream /// </summary> /// <param name="filename">The filename to use</param> /// <param name="stream">The source WaveStream</param> public static void CreateWaveFile(string filename, WaveStream stream) { using (WaveFileWriter writer = new WaveFileWriter(filename, stream.WaveFormat)) { byte[] buffer = new byte[stream.GetReadSize(4000)]; while (true) { int bytesRead = stream.Read(buffer, 0, buffer.Length); if (bytesRead == 0) { break; } writer.WriteData(buffer, 0, bytesRead); } } }
/// <summary> /// Gets the recommended read size /// </summary> /// <param name="milliseconds">Number of milliseconds of audio to read</param> /// <returns>Recommended number of bytes to read</returns> public override int GetReadSize(int milliseconds) { return(inStream.GetReadSize(milliseconds)); }