コード例 #1
0
 public void TwoInOneOutShouldCanBeConfiguredToSelectRightChannel()
 {
     var input1 = new TestSampleProvider(32000, 2);
     float[] expected = new float[] { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 };
     var mp = new MultiplexingSampleProvider(new ISampleProvider[] { input1 }, 1);
     mp.ConnectInputToOutput(1, 0);
     EnsureReadsExpected(mp, expected);
 }
コード例 #2
0
        public void PerformanceTest()
        {
            var input1 = new TestSampleProvider(32000, 1);
            var input2 = new TestSampleProvider(32000, 1);
            var input3 = new TestSampleProvider(32000, 1);
            var input4 = new TestSampleProvider(32000, 1);
            var mp = new MultiplexingSampleProvider(new ISampleProvider[] { input1, input2, input3, input4 }, 4);
            mp.ConnectInputToOutput(0, 3);
            mp.ConnectInputToOutput(1, 2);
            mp.ConnectInputToOutput(2, 1);
            mp.ConnectInputToOutput(3, 0);

            float[] buffer = new float[input1.WaveFormat.AverageBytesPerSecond / 4];
            Stopwatch s = new Stopwatch();
            var duration = s.Time(() =>
            {
                // read one hour worth of audio
                for (int n = 0; n < 60 * 60; n++)
                {
                    mp.Read(buffer, 0, buffer.Length);
                }
            });
            Console.WriteLine("Performance test took {0}ms", duration);
        }
コード例 #3
0
 public void HasConnectInputToOutputMethod()
 {
     var input1 = new TestSampleProvider(32000, 2);
     var mp = new MultiplexingSampleProvider(new ISampleProvider[] { input1 }, 1);
     mp.ConnectInputToOutput(1, 0);
 }
コード例 #4
0
 public void ConnectInputToOutputThrowsExceptionForInvalidOutput()
 {
     var input1 = new TestSampleProvider(32000, 2);
     var mp = new MultiplexingSampleProvider(new ISampleProvider[] { input1 }, 1);
     Assert.Throws<ArgumentException>(() => mp.ConnectInputToOutput(1, 1));
 }
コード例 #5
0
 public void StereoInTwoOutCanBeConfiguredToSwapLeftAndRight()
 {
     var input1 = new TestSampleProvider(32000, 2);
     float[] expected = new float[] { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10 };
     var mp = new MultiplexingSampleProvider(new ISampleProvider[] { input1 }, 2);
     mp.ConnectInputToOutput(0, 1);
     mp.ConnectInputToOutput(1, 0);
     EnsureReadsExpected(mp, expected);
 }