Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }