public static bool IdentifyWavFile(string path, out WavFileInfo info) { bool ok; byte[] header = new byte[WavHeaderUtil.HEADER_LENGTH]; using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read)) { fs.Read(header, 0, WavHeaderUtil.HEADER_LENGTH); ok = WavHeaderUtil.ParseWavHeader(header, out info); } return(ok); }
public WavFileReader(Stream underlyingStream, int bufferSize = 16384) : base(underlyingStream) { //Read WAV header byte[] header = new byte[WavHeaderUtil.HEADER_LENGTH]; underlyingStream.Read(header, 0, WavHeaderUtil.HEADER_LENGTH); if (!WavHeaderUtil.ParseWavHeader(header, out info)) { throw new Exception("This is not a valid WAV header."); } //Create wrapper reader = new StreamSampleReader(underlyingStream, Format, SampleRate, WavHeaderUtil.HEADER_LENGTH, Channels, bufferSize); }