示例#1
0
文件: Recorder.cs 项目: etray/NCorder
        public void SaveTrack(long trackNumber, string title)
        {
            string          path        = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyMusic), title + ".mp3");
            RecordingBuffer trackBuffer = this.PopTrack(trackNumber);
            MP3Writer       writer      = new MP3Writer();

            writer.WriteOutBuffer(trackBuffer, path);
        }
示例#2
0
 public void ClearBufferTest()
 {
     RecordingBuffer buffer = new RecordingBuffer();
     buffer.AddSample(new Sample() {
         Id  = 1
     });
     buffer.AddSample(new Sample()
     {
         Id = 2
     });
     Assert.AreNotEqual(0, buffer.Samples.Count);
     buffer.ClearSamples();
     Assert.AreEqual(0, buffer.Samples.Count);
 }
示例#3
0
文件: Recorder.cs 项目: etray/NCorder
        private RecordingBuffer PopTrack(long trackNumber)
        {
            RecordingBuffer result = new RecordingBuffer();

            result.WaveFormat = this.Buffer.WaveFormat;
            var samples = this.Buffer.Samples;

            while (samples.Count > 0 && samples[0].Id <= trackNumber)
            {
                result.AddSample(samples[0]);
                samples.RemoveAt(0);
            }

            return(result);
        }
示例#4
0
        public void AddSampleTest()
        {
            RecordingBuffer buffer = new RecordingBuffer();

            Assert.AreEqual(0, buffer.Samples.Count);

            buffer.AddSample(new Sample()
            {
                Id = 1
            });

            Assert.AreEqual(1, buffer.Samples.Count);

            buffer.AddSample(new Sample()
            {
                Id = 2
            });

            Assert.AreEqual(2, buffer.Samples.Count);

            buffer.AddSample(new Sample()
            {
                Id = 3
            });

            Assert.AreEqual(3, buffer.Samples.Count);

            buffer.ClearSamples();

            Assert.AreEqual(0, buffer.Samples.Count);

            buffer.AddSample(new Sample()
            {
                Id = 4
            });

            Assert.AreEqual(1, buffer.Samples.Count);
        }
示例#5
0
 public void WriteOutBuffer(RecordingBuffer buffer, string outputFile)
 {
     StatusManager.Status("Saving file: " + outputFile);
     byte[] waveFile = this.ConvertToWave(buffer.Samples, buffer.WaveFormat);
     this.WriteMP3(waveFile, outputFile);
 }
示例#6
0
 public void WriteOutBuffer(RecordingBuffer buffer, string outputFile)
 {
     StatusManager.Status("Saving file: " + outputFile);
     byte[] waveFile = this.ConvertToWave(buffer.Samples, buffer.WaveFormat);
     this.WriteMP3(waveFile, outputFile);
 }
示例#7
0
 public void CreateTest()
 {
     RecordingBuffer buffer = new RecordingBuffer();
     Assert.AreNotEqual(null, buffer.Samples);
     Assert.AreEqual(0, buffer.Samples.Count);
 }
示例#8
0
文件: Recorder.cs 项目: etray/NCorder
        private RecordingBuffer PopTrack(long trackNumber)
        {
            RecordingBuffer result = new RecordingBuffer();
            result.WaveFormat = this.Buffer.WaveFormat;
            var samples = this.Buffer.Samples;
            while (samples.Count > 0 && samples[0].Id <= trackNumber)
            {
                result.AddSample(samples[0]);
                samples.RemoveAt(0);
            }

            return result;
        }