public WavFormat(Stream stream)
        {
            sourceStream = stream;

            if (!WavReader.LoadSound(stream, out wavStreamFactory, out channels, out sampleBits, out sampleRate))
            {
                throw new InvalidDataException();
            }
        }
예제 #2
0
        public WavFormat(Stream stream)
        {
            this.stream = stream;

            var position = stream.Position;

            reader = Exts.Lazy(() =>
            {
                var wavReader = new WavReader();
                try
                {
                    if (!wavReader.LoadSound(stream))
                    {
                        throw new InvalidDataException();
                    }
                }
                finally
                {
                    stream.Position = position;
                }
                return(wavReader);
            });
        }