public void CanDecompressAnMp3() { var testFile = TestFileBuilder.CreateMp3File(20); try { using (var reader = new Mp3FileReader(testFile)) { var frameDecompressor = new DmoMp3FrameDecompressor(reader.Mp3WaveFormat); Mp3Frame frame; var buffer = new byte[reader.WaveFormat.AverageBytesPerSecond]; while ((frame = reader.ReadNextFrame()) != null) { int decompressed = frameDecompressor.DecompressFrame(frame, buffer, 0); Debug.WriteLine($"Decompressed {frame.FrameLength} bytes to {decompressed}"); } } } finally { File.Delete(testFile); } }
public void ReadFrameAdvancesPosition() { var file = TestFileBuilder.CreateMp3File(5); try { using (var mp3FileReader = new Mp3FileReader(file)) { var lastPos = mp3FileReader.Position; while ((mp3FileReader.ReadNextFrame()) != null) { Assert.IsTrue(mp3FileReader.Position > lastPos); lastPos = mp3FileReader.Position; } Assert.AreEqual(mp3FileReader.Length, mp3FileReader.Position); Assert.IsTrue(mp3FileReader.Length > 0); } } finally { File.Delete(file); } }