Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            AudioRecorder test = new AudioRecorder();

            test.BeginMonitoring(0);

            double loveGaugeVerageAverage = 0;
            int    loveCount = 0;

            while (true)
            {
                double average = test.getLoveGagueAverage();
                loveGaugeVerageAverage += (average - loveGaugeVerageAverage) * 0.05;

                if (test.getLoveGagueAverage() - loveGaugeVerageAverage >= 40)
                {
                    //Console.WriteLine("BCS3 detected your love!! <3");
                    loveCount += 1;
                    if (loveCount >= 100)
                    {
                        break;
                    }

                    Console.Write("[");
                    for (int i = 0; i < 100; i++)
                    {
                        Console.Write(i < loveCount ? "-" : " ");
                    }
                    Console.WriteLine("]");
                }
                Thread.Sleep(100);
            }

            Console.WriteLine("YOU DID IT!!!");
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 开始录音
        /// </summary>
        public void StartRec()
        {
            waveSource                   = new WaveIn();
            waveSource.WaveFormat        = new WaveFormat(16000, 16, 1); // 16bit,16KHz,Mono的录音格式
            waveSource.DataAvailable    += waveSource_DataAvailable;
            waveSource.RecordingStopped += waveSource_RecordingStopped;

            recorder = new AudioRecorder();
            recorder.BeginMonitoring(-1);
            recorder.SampleAggregator.MaximumCalculated += OnRecorderMaximumCalculated;
            waveSource.StartRecording();
        }
Ejemplo n.º 3
0
 private void button1_Click(object sender, RoutedEventArgs e)
 {
     SpeechRecognition();
     totalBufferLength = 0;
     recorder          = new AudioRecorder();
     recorder.BeginMonitoring(-1);
     recorder.SampleAggregator.MaximumCalculated += OnRecorderMaximumCalculated;
     if (waveIn == null)
     {
         waveIn = CreateWaveInDevice();
     }
     waveIn.WaveFormat = new WaveFormat(16000, 1);
     waveIn.StartRecording();
 }
        private void btnStart_Click(object sender, RoutedEventArgs e)
        {
            totalBufferLength = 0;
            recorder          = new AudioRecorder();
            recorder.BeginMonitoring(combDevice.SelectedIndex);
            recorder.SampleAggregator.MaximumCalculated += OnRecorderMaximumCalculated;

            if (waveIn == null)
            {
                waveIn = CreateWaveInDevice();
            }
            var device = (MMDevice)combDevice.SelectedItem;

            device.AudioEndpointVolume.Mute = false;
            waveIn.WaveFormat = new WaveFormat(16000, 1);
            waveIn.StartRecording();

            btnStart.IsEnabled = false;
            btnStop.IsEnabled  = true;
        }
Ejemplo n.º 5
0
        private void btnStart_Click(object sender, RoutedEventArgs e)
        {
            if (name != "英文" && CheckBox_Library.IsChecked == true)
            {
                MessageBox.Show("The selected language cannot use the library service.\nPlease unselect the Lib box.", "Library error");
                return;
            }

            InitializeComponent();
            this.Topmost = true;

            click            = true;
            this.WindowState = WindowState.Minimized;

            if (name == "英文" && nameTo == "英文" || name == "西班牙语" && nameTo == "西班牙语")
            {
                feedback.txtBlock.TextAlignment   = TextAlignment.Left;
                feedback.txtContent.TextAlignment = TextAlignment.Left;
            }
            else
            {
                feedback.txtBlock.TextAlignment   = TextAlignment.Center;
                feedback.txtContent.TextAlignment = TextAlignment.Center;
            }

            if (!file)
            {
                string micName = WaveIn.GetCapabilities(combDevice.SelectedIndex).ProductName;

                totalBufferLength = 0;
                recorder          = new AudioRecorder();
                if (!micName.StartsWith("Microphone"))
                {
                    recorder.RecordingFormat = new WaveFormat(8000, 2);                                    //External mics work fine. Laptop mic works soso.
                }
                recorder.MicrophoneLevel = 100;
                recorder.BeginMonitoring(combDevice.SelectedIndex);
                recorder.SampleAggregator.MaximumCalculated += OnRecorderMaximumCalculated;

                if (waveIn == null)
                {
                    waveIn = CreateWaveInDevice(micName);
                }
                var device = (MMDevice)combDevice.SelectedItem;
                device.AudioEndpointVolume.Mute = false;

                if (micName.StartsWith("Microphone"))
                {
                    waveIn.WaveFormat = new WaveFormat(16000, 1);                                   //Laptop mic works great. External mics don't work.
                }
                else
                {
                    waveIn.WaveFormat = new WaveFormat(8000, 2);  //External mics work fine. Laptop mic works soso.
                }
                if (name == "中文")
                {
                    // Start receive and send loops
                    var sendAudioRecorded = Task.Run(() => this.StartSending())
                                            .ContinueWith((t) => ReportError(t))
                                            .ConfigureAwait(false);
                }
                else if (name == "英文" || name == "西班牙语")
                {
                    stopbutton = false;
                    if (this.micClient == null)
                    {
                        this.CreateMicrophoneRecoClient();
                    }
                    this.micClient.StartMicAndRecognition();
                }

                if (CheckBox_RecordAudio.IsChecked == true && logAudioFileName != null)
                {
                    // Setup player and recorder but don't start them yet.
                    WaveFormat waveFormat;
                    if (micName.StartsWith("Microphone"))
                    {
                        waveFormat = new WaveFormat(16000, 1);                                   //Laptop mic works great. External mics don't work.
                    }
                    else
                    {
                        waveFormat = new WaveFormat(8000, 2);  //External mics work fine. Laptop mic works soso.
                    }
                    audioSent = new WaveFileWriter(logAudioFileName, waveFormat);
                    Debug.WriteLine("I: Recording outgoing audio in " + logAudioFileName);
                }
                else
                {
                    CheckBox_RecordAudio.IsEnabled = false;
                }

                waveIn.StartRecording();
            }
            else if (file)
            {
                if (name == "英文" || name == "西班牙语")
                {
                    if (null == this.dataClient)
                    {
                        this.CreateDataRecoClient();
                    }
                    this.SendAudioHelper(this.LongWaveFile);
                }
            }

            btnStart.IsEnabled = false;
            btnStop.IsEnabled  = true;

            if (CheckBox_RecordAudio.IsChecked == false)
            {
                CheckBox_RecordAudio.IsEnabled = false;
            }

            CheckBox_Transcript.IsEnabled = false;
            CheckBox_Transcript.IsChecked = false;

            CheckBox_Library.IsEnabled = false;
        }