Exemple #1
0
        private static int SecondsUntilPatternConcluded(IWaveProvider reader, int targetFrequency1, int targetFrequency2)
        {
            var sampleProvider = reader.ToSampleProvider();
            var toneDetector   = new TonePatternDetector(targetFrequency1, targetFrequency2,
                                                         sampleProvider.WaveFormat.SampleRate);
            var  buffer      = new float[BufferSize];
            long sampleCount = 0;

            while (true)
            {
                var bytesRead = sampleProvider.Read(buffer, 0, buffer.Length);
                sampleCount += bytesRead;

                if (bytesRead < buffer.Length)
                {
                    break;
                }

                if (toneDetector.Detected(buffer))
                {
                    return(TimeStampHelper.GetElapsedSeconds(sampleProvider.WaveFormat.SampleRate, sampleCount));
                }
            }

            return(-1);
        }
        private int SecondsUntilPatternConcluded(IWaveProvider reader)
        {
            var  sampleProvider = reader.ToSampleProvider();
            var  toneDetector   = new TonePatternDetector(_mockConfigurationReader);
            var  buffer         = new float[BufferSize];
            long sampleCount    = 0;

            while (true)
            {
                var bytesRead = sampleProvider.Read(buffer, 0, buffer.Length);
                sampleCount += bytesRead;

                if (bytesRead < buffer.Length)
                {
                    break;
                }

                if (toneDetector.Detected(buffer, sampleProvider.WaveFormat.SampleRate))
                {
                    return(ElapsedTimeSpanHelper.GetElapsedTimeSpan(sampleProvider.WaveFormat.SampleRate, sampleCount).Seconds);
                }
            }

            return(-1);
        }