Beispiel #1
0
 private void Stop()
 {
     if (_recorder != null)
     {
         try
         {
             _recorder.Dispose();
         }
         catch { }
         finally
         {
             _recorder = null;
         }
     }
     if (_isPlayer == true)
     {
         if (_player != null)
         {
             try
             {
                 _player.Dispose();
             }
             catch { }
             finally
             {
                 _player = null;
             }
         }
         _streamOut.Flush(); // clear all pending data
     }
     consoletext += DateTime.Now.ToString() + " : Audio input device polling stopped\r\n";
 }
Beispiel #2
0
 private void Stop()
 {
     try
     {
         if (m_Player != null)
         {
             try
             {
                 m_Player.Dispose();
             }
             finally
             {
                 m_Player = null;
             }
         }
         if (m_Recorder != null)
         {
             try
             {
                 m_Recorder.Dispose();
             }
             finally
             {
                 m_Recorder = null;
             }
         }
         m_Fifo.Flush(); // clear all pending data
     }
     catch (Exception E)
     {
         MessageBox.Show(E.Message);
     }
 }
 private void Stop()
 {
     if (m_Player != null)
     {
         try
         {
             m_Player.Dispose();
         }
         finally
         {
             m_Player = null;
         }
     }
     if (m_Recorder != null)
     {
         try
         {
             m_Recorder.Dispose();
         }
         finally
         {
             m_Recorder = null;
         }
     }
     m_Fifo.Flush(); // clear all pending data
 }
Beispiel #4
0
 private void BufferClear()
 {
     if (wavePlayer != null)
     {
         try
         {
             wavePlayer.Dispose();
         }
         finally
         {
             wavePlayer = null;
         }
     }
     if (waveRecorder != null)
     {
         try
         {
             waveRecorder.Dispose();
         }
         finally
         {
             waveRecorder = null;
         }
     }
     m_Fifo.Flush();
 }
Beispiel #5
0
        private void record(object sender, RoutedEventArgs e)
        {
            if (this.lvSentences.SelectedItems.Count < 1)
            {
                return;
            }

            if (isRecording)
            {
                stop(sender, e);
            }
            else
            {
                saveLanguage();
                isRecording             = true;
                lblRecording.Visibility = System.Windows.Visibility.Visible;
                Sentence sentence = (Sentence)this.lvSentences.SelectedItem;
                string   path     = sentence.fullPath;
                Directory.CreateDirectory(Path.GetDirectoryName(path));  // Create directory if it doesn't exist
                System.IO.File.WriteAllText(path, "");                   // Create and flush the file

                filewriter = new WavFileWriter(path, recSamplerate, recBits, recChannels);
                WaveFormat fmt = new WaveFormat(recSamplerate, recBits, recChannels);
                recorder = new WaveInRecorder(-1, fmt, recBuffersize, this.DataArrived);
            }
        }
 private void Start()
 {
     Stop();
     try
     {
         WaveFormat fmt = new WaveFormat(44100, 16, 2);
         m_Player   = new WaveOutPlayer(-1, fmt, 16384, 3, new BufferFillEventHandler(Filler));
         m_Recorder = new WaveInRecorder(-1, fmt, 16384, 3, new BufferDoneEventHandler(Voice_Out));
     }
     catch
     {
         return;
     }
 }
Beispiel #7
0
        private void InitCall()
        {
            ShowStatus("연결 완료");
            SetBtn(1);
            //원격 연결점 생성
            targetDataIP  = tempIP;
            targetVoiceIP = new IPEndPoint(tempIP.Address, 2000);

            WaveFormat fmt = new WaveFormat(44100, 16, 2);

            wavePlayer   = new WaveOutPlayer(-1, fmt, 16384, 3, new BufferFillEventHandler(Filler));
            waveRecorder = new WaveInRecorder(-1, fmt, 16384, 3, new BufferDoneEventHandler(Voice_Out));
            //음성 비동기 수신 대기
            udpVoice.BeginReceive(new AsyncCallback(ReceiveVoiceCallback), udpVoice);
        }
 private void Start()
 {
     Stop();
     try
     {
         WaveFormat fmt = new WaveFormat(22050, 8, 1);
         m_Player   = new WaveOutPlayer(0, fmt, 16384, 3, new BufferFillEventHandler(Filler));
         m_Recorder = new WaveInRecorder(-1, fmt, 16384, 3, new BufferDoneEventHandler(Voice_Out));
     }
     catch
     {
         Stop();
         throw;
     }
 }
Beispiel #9
0
 private void Start()
 {
     Stop();
     try
     {
         WaveFormat fmt = new WaveFormat(44100, 16, 2);
         m_Player = new WaveOutPlayer(-1, fmt, 16384, 3, new BufferFillEventHandler(Filler));
         //The first parameter is the ID of the wave device that you want to use.The value -1 represents the default system device, but if your system has more than one sound card, then you can pass any number from 0 to the number of installed sound cards minus one to select a particular device.
         //The second parameter is the format of the audio samples.
         //The third and forth parameters are the size of the internal wave buffers and the number of buffers to allocate. You should set these to reasonable values. Smaller buffers will give you less latency(short period of delay ), but the audio may stutter if your computer is not fast enough.
         //The fifth and last parameter is a delegate that will be called periodically as internal audio buffers finish playing, so that you can feed them with new sound data.
         m_Recorder = new WaveInRecorder(-1, fmt, 16384, 3, new BufferDoneEventHandler(Send_Voice));
     }
     catch
     {
         Stop();
         throw;
     }
 }
Beispiel #10
0
        private void GetInputDevices()
        {
            WaveInRecorder wr = new WaveInRecorder();
            int            dv = wr.GetDeviceCount();

            if (dv != 0)
            {
                string prod = "";
                for (uint x = 0; x < dv; x++)
                {
                    wr.GetInputDeviceName(x, ref prod);
                    cbInputDevices.Items.Add(prod);
                }
                cbInputDevices.SelectedIndex = 0;
                wr.GetInputDeviceName((uint)this.InputDevice, ref prod);
                cbInputDevices.Text = prod;
            }
            wr.Dispose();
        }
Beispiel #11
0
        private void Start()
        {
            Stop();
            try
            {
                SoundUtils.SetVolumePercent(100);

                WaveFormat fmt = new WaveFormat(44100, 16, 2);
                if (!m_bVoicePlayerFlag)
                {
                    m_Player = new WaveOutPlayer(-1, fmt, 3000, 3, new BufferFillEventHandler(Filler));
                }
                m_Recorder = new WaveInRecorder(-1, fmt, 3000, 3, new BufferDoneEventHandler(Voice_Out));

                m_bVoicePlayerFlag = false;
            }
            catch
            {
                Stop();
                throw;
            }
        }
Beispiel #12
0
 private void Start()
 {
     Stop();
     try
     {
         _waveFormat = new WaveFormat(44100, 16, 2);
         _recorder   = new WaveInRecorder((-1), _waveFormat, 16384, 3, new BufferDoneEventHandler(DataArrived));
         if (_isPlayer == true)
         {
             _player = new WaveOutPlayer((-1), _waveFormat, 16384, 3, new BufferFillEventHandler(Filler));
         }
         consoletext += DateTime.Now.ToString() + " : Audio input device polling started\r\n";
         consoletext += DateTime.Now + " : Device = " + (-1).ToString() + "\r\n";
         consoletext += DateTime.Now + " : Channels = " + 2.ToString() + "\r\n";
         consoletext += DateTime.Now + " : Bits per sample = " + 16.ToString() + "\r\n";
         consoletext += DateTime.Now + " : Samples per second = " + 44100.ToString() + "\r\n";
         consoletext += DateTime.Now + " : Frame size = " + 8192.ToString() + "\r\n";
     }
     catch
     {
         //if (ex.InnerException != null) consoletext += DateTime.Now + " : " + ex.InnerException.ToString() + "\r\n";
     }
 }
Beispiel #13
0
        void Go()
        {
            int samplerate = 16000;
            int bits       = 16; // 8 or 16
            int channels   = 1;  // 1 or 2

            filewriter = new WavFileWriter("out.wav", samplerate, bits, channels);

            WaveFormat fmt = new WaveFormat(samplerate, bits, channels);

            // devicenumber, wavformat, buffersize, callback
            int            buffersize = 16384;
            WaveInRecorder rec        = new WaveInRecorder(-1, fmt, buffersize, this.DataArrived);

            tmparray = new byte[buffersize];

            Console.WriteLine("Recording - press Enter to end");
            Console.ReadLine();
            rec.Close();

            filewriter.Close();

            Console.WriteLine("Bye");
        }