Ejemplo n.º 1
0
        public void startRecordServer(int codec, string m_pLoacalIP, int m_pLocalPort, string m_pRemoteIP, int m_pRemotePort, int m_pInDevicesselected)
        {
            try
            {
                if (m_pUdpServer != null)
                {
                    m_pUdpServer.Dispose();
                    m_pUdpServer = null;
                }

                if (m_pWaveIn != null)
                {
                    m_pWaveIn.Dispose();
                    m_pWaveIn = null;
                }


                m_Codec               = codec;
                m_pUdpServer          = new UdpServer();
                m_pUdpServer.Bindings = new IPEndPoint[] { new IPEndPoint(IPAddress.Parse(m_pLoacalIP), m_pLocalPort) };

                m_pUdpServer.Start();


                m_pTargetEP = new IPEndPoint(IPAddress.Parse(m_pRemoteIP), m_pRemotePort);

                m_pWaveIn             = new WaveIn(WaveIn.Devices[m_pInDevicesselected], 11025, 16, 1, 400);
                m_pWaveIn.BufferFull += new BufferFullHandler(m_pWaveIn_BufferFull);
                m_pWaveIn.Start();
            }
            catch (Exception ex)
            {
            }
        }
Ejemplo n.º 2
0
        private void buttonStartStop_Click(object sender, EventArgs e)
        {
            if (buttonStartStop.Text == "Start")
            {
                audioSender.Start(IPAddress.Parse(textBoxUDPIP.Text));

                waveIn = new WaveIn();

                waveIn.DeviceNumber   = (comboBoxAudioSource.SelectedItem as WaveInAudioSource).DeviceId;
                waveIn.DataAvailable += audioSender.DataAvailable;
                waveIn.WaveFormat     = new WaveFormat(Constants.Audio.SAMPLE_RATE, Constants.Audio.BIT_DEPTH, Constants.Audio.CHANNELS);

                waveIn.StartRecording();

                WriteLine("Started Recording at {0} UTC", audioSender.StartTime);
                buttonStartStop.Text = "Stop";
            }
            else
            {
                waveIn.StopRecording();
                waveIn.Dispose();
                audioSender.Stop();
                buttonStartStop.Text = "Start";
            }
        }
Ejemplo n.º 3
0
 public void Stop_it()
 {
     if (waveIn != null)
     {
         waveIn.StopRecording();
         waveIn.Dispose();
         waveIn = null;
     }
     network.Closeconn();
     network = null;
     if (waveOut != null)
     {
         waveOut.Stop();
         waveOut.Dispose();
         waveOut = null;
     }
     notEncodedBuffer = new byte[0];
     EncodedBuffer    = new byte[0];
     soundBuffer      = new byte[0];
     playBuffer       = null;
     if (encoder != null)
     {
         encoder.Dispose();
         encoder = null;
     }
     if (decoder != null)
     {
         decoder.Dispose();
         decoder = null;
     }
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Recording End Callback Function
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void waveSource_RecordingStopped(object sender, StoppedEventArgs e)
 {
     if (waveSource != null)
     {
         waveSource.Dispose();
         waveSource = null;
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// 停止录音
 /// </summary>
 public void StopRecord()
 {
     mWavIn?.StopRecording();
     mWavIn?.Dispose();
     mWavIn = null;
     mWavWriter?.Close();
     mWavWriter = null;
 }
Ejemplo n.º 6
0
 /// <summary>
 /// 停止录音
 /// </summary>
 public void StopRec()
 {
     waveSource?.StopRecording();
     // Close Wave(Not needed under synchronous situation)
     if (waveSource != null)
     {
         waveSource.Dispose();
         waveSource = null;
     }
 }
Ejemplo n.º 7
0
 private void button1_Click(object sender, EventArgs e)
 {
     try
     {
         waveInStream.StopRecording();
         waveInStream.Dispose();
     }
     catch { }
     Application.Exit();
 }
Ejemplo n.º 8
0
        private void button1_Click(object sender, EventArgs e)
        {
            player.Stop();

            recorder.StopRecording();
            recorder.Dispose();
            bufferedWaveProvider.ClearBuffer();
            Form1.self.SelectMic = comboBox1.SelectedIndex;
            this.Close();
        }
Ejemplo n.º 9
0
 public void FileExist(string FilePath)
 {
     if (File.Exists(FilePath))
     {
         if (waveSource != null)
         {
             waveSource.Dispose();
         }
         File.Delete(FilePath);
     }
 }
Ejemplo n.º 10
0
 void waveIn_RecordingStopped(object sender, EventArgs e)
 {
     try
     {
         waveIn.Dispose();
         waveIn = null;
         writer.Close();
         writer = null;
     }
     catch
     {
     }
 }
Ejemplo n.º 11
0
        void audioRecordTimer_Tick(object sender, EventArgs e)
        {
            waveSource.StopRecording();
            waveSource.Dispose();
            waveSource = null;
            //waveFile.Close();
            //waveFile = null;


            //disable the timer here so it won't fire again...
            audioRecordTimer.Enabled = false;
            isRecordingEvent.Set();
        }
Ejemplo n.º 12
0
 //CHANGE I/O
 #region "changeI/O"
 private bool changeMicrophone(int deviceID)
 {
     if (wiMicrophone == null)
     {
         return(false);
     }
     mspStandard.RemoveMixerInput(vspMicrophone);
     wiMicrophone.StopRecording();
     wiMicrophone.Dispose();
     wiMicrophone = new WaveIn();
     wiMicrophone.DeviceNumber = deviceID;
     InitializeMicrophone(ref wiMicrophone, wiMicrophone.DeviceNumber, wiMicrophone.BufferMilliseconds, (int)Audio_MicVolumeSlider.Value);
     return(true);
 }
Ejemplo n.º 13
0
 private void waveIn_RecordingStopped(object sender, EventArgs e)
 {
     if (this.InvokeRequired)
     {
         this.BeginInvoke(new EventHandler(waveIn_RecordingStopped), sender, e);
     }
     else
     {
         waveIn.Dispose();
         waveIn = null;
         writer.Close();
         writer = null;
     }
 }
Ejemplo n.º 14
0
        /// <summary>
        /// 停止录音
        /// </summary>
        public string StopRec()
        {
            string result = "";

            waveSource.StopRecording();
            recorder.SampleAggregator.MaximumCalculated -= OnRecorderMaximumCalculated;
            // Close Wave(Not needed under synchronous situation)
            if (waveSource != null)
            {
                waveSource.Dispose();
                waveSource = null;
            }
            return(result);
        }
Ejemplo n.º 15
0
        private void SourceStream_RecordingStopped(object sender, StoppedEventArgs e)
        {
            if (sourceStream != null)
            {
                sourceStream.Dispose();
                sourceStream = null;
            }

            if (waveWriter != null)
            {
                waveWriter.Dispose();
                waveWriter = null;
            }
         
        }
Ejemplo n.º 16
0
 //Окончание записи
 private void WaveIn_RecordingStopped(object sender, StoppedEventArgs e)
 {
     waveIn.Dispose();
     waveIn = null;
     writer.Close();
     writer = null;
 }
Ejemplo n.º 17
0
        private void CloseListener()
        {
            if (connected)
            {
                connected     = false;
                _isDisconnect = true;

                waveIn.DataAvailable -= waveIn_DataAvailable;
                waveIn.StopRecording();
                server.Stop();
                waveIn.Dispose();

                // audio
                this.codec.Dispose();
                udpAudioSender.Close();

                // question
                foreach (Socket client in _listSocket)
                {
                    client.Close();
                }

                // webcam
                //tcpWebcamServer.Server.Close();
                foreach (Socket client in _listSocketWebcam)
                {
                    client.Close();
                }

                server.Server.Close();
            }
        }
Ejemplo n.º 18
0
        static public void Dispose()
        {
            connected = false;
            if (listeningSocket != null)
            {
                listeningSocket.Close();

                listeningSocket.Dispose();
            }
            if (client != null)
            {
                client.Close();
                client.Dispose();
            }
            if (output != null)
            {
                output.Stop();
                output.Dispose();
                output = null;
            }
            if (input != null)
            {
                input.Dispose();
                input = null;
            }
            bufferStream = null;
        }
Ejemplo n.º 19
0
        public void trackBar1_Scroll(object sender, EventArgs e)
        {
            if (waveOut != null)
            {
                waveOut.Stop();
                waveOut.Dispose();
                waveOut = null;
            }
            if (wi != null)
            {
                wi.StopRecording();
                wi.Dispose();
                wi = null;
            }
            //d = trackBar1.Value;
            //sourceStream = new NAudio.Wave.WaveIn();
            //sourceStream.DeviceNumber = 0;
            //sourceStream.WaveFormat = new NAudio.Wave.WaveFormat(RATE, 1); ;

            //NAudio.Wave.WaveInProvider waveIn = new NAudio.Wave.WaveInProvider(sourceStream);



            waveOut = new NAudio.Wave.DirectSoundOut();
            waveOut.Init(bwp);

            //sourceStream.StartRecording();
            waveOut.Play();
            //in_thread = new Thread(new ThreadStart(upgrate));

            //in_thread.Start();
        }
Ejemplo n.º 20
0
 //Окончание записи
 private void waveIn_RecordingStopped(object sender, EventArgs e)
 {
     if (InvokeRequired)
     {
         BeginInvoke(new EventHandler(waveIn_RecordingStopped), sender, e);
     }
     else
     {
         _www.Dispose();
         _www = null;
         _writer.Close();
         _writer.Dispose();
         try
         {
             using (var reader = new AudioFileReader(_writer.Filename))
             {
                 using (var write = new LameMP3FileWriter(@"D:\MP3\gg.mp3", reader.WaveFormat, 128))
                 {
                     reader.CopyTo(write);
                     write.Flush();
                 }
                 reader.Flush();
             }
         }
         catch (Exception ev)
         {
             MessageBox.Show(ev.Message);
         }
     }
 }
Ejemplo n.º 21
0
        void StartButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                buf.Clear();

                // WaveIn needs to be reinitialized each time:
                // https://github.com/naudio/NAudio/issues/49#issuecomment-280446686
                waveIn?.Dispose();
                waveIn                   = new WaveIn();
                waveIn.WaveFormat        = new WaveFormat(44100, 1);
                waveIn.DataAvailable    += waveIn_DataAvailable;
                waveIn.RecordingStopped += waveIn_RecordingStopped;
                waveIn.StartRecording();

                FreqSlider.IsEnabled    = false;
                BitrateSlider.IsEnabled = false;
                StartButton.IsEnabled   = false;
                StopButton.IsEnabled    = true;
            }
            catch (MmException ex)
            {
                if (ex.Result == MmResult.BadDeviceId)
                {
                    MessageTextBox.Text = "[Recording device is not found]";
                }
                else
                {
                    MessageTextBox.Text = $"[Recording error: {ex.Result}]";
                }
            }
        }
Ejemplo n.º 22
0
 public void close()
 {
     if (!_online)
     {
         return;
     }
     // Close Device
     if (openDev.audioDeviceType == AudioDeviceType.Windows)
     {
         try
         {
             waveIn.StopRecording();
             waveIn.Dispose();
         }
         catch (Exception E)
         {
         }
         waveIn  = null;
         openDev = null;
     }
     else     // WASAPI Device
     {
         try
         {
             WASAPIwaveIn.StopRecording();
             WASAPIwaveIn.Dispose();
         }
         catch (Exception E)
         {
         }
         WASAPIwaveIn = null;
         openDev      = null;
     }
     _online = false;
 }
Ejemplo n.º 23
0
        private void stopLoopback()
        {
            try
            {
                if (loopbackWaveOut != null)
                {
                    loopbackWaveOut.Stop();
                    loopbackWaveOut.Dispose();
                    loopbackWaveOut = null;
                }

                if (loopbackWaveProvider != null)
                {
                    loopbackWaveProvider.ClearBuffer();
                    loopbackWaveProvider = null;
                }

                if (loopbackSourceStream != null)
                {
                    loopbackSourceStream.StopRecording();
                    loopbackSourceStream.Dispose();
                    loopbackSourceStream = null;
                }
            }
            catch (Exception) { }
        }
Ejemplo n.º 24
0
        /// <summary>
        /// Handles recording of an input device.
        /// </summary>
        /// <param name="audioWriter">Records the sound data to the specified filepath</param>
        /// <param name="audioRecorder">WaveIn Object set to the currently selected input device</param>
        /// <param name="filePath">Where to save the recorded sound data</param>
        /// <returns>True if successful, false if not</returns>
        public static bool StartRecordingIn(WaveFileWriter audioWriter, WaveIn audioRecorder, String filePath)
        {
            try
            {
                audioWriter = new WaveFileWriter(filePath, audioRecorder.WaveFormat);
            }
            //A little lazy, but I will display the exception name in the popup
            catch (Exception ex)
            {
                MessageBox.Show("An error has occured during recording : \n" + ex.Message, ex.GetType().Name);
                return(false);
            }
            //Setup the Recording Event Handlers
            audioRecorder.DataAvailable += (s, audioArgs) =>
            {
                audioWriter.Write(audioArgs.Buffer, 0, audioArgs.BytesRecorded);
            };
            audioRecorder.RecordingStopped += (s, a) =>
            {
                audioWriter.Dispose();
                audioRecorder.Dispose();
                audioWriter = null;
            };

            audioRecorder.StartRecording();

            return(true);
        }
        public void StopEncoding()
        {
            _waveIn?.Dispose();
            _waveIn = null;

            _waveOut?.Dispose();
            _waveOut = null;

            _playBuffer?.ClearBuffer();
            _playBuffer = null;

            _encoder?.Dispose();
            _encoder = null;

            _decoder?.Dispose();
            _decoder = null;

            _playBuffer?.ClearBuffer();
            _playBuffer = null;

            _speex?.Dispose();
            _speex = null;

            _waveFile?.Dispose();
            _waveFile = null;

            SpeakerMax = -100;
            MicMax     = -100;
        }
Ejemplo n.º 26
0
        void waveSource_RecordingStopped(object sender, StoppedEventArgs e)
        {
            if (waveSource != null)
            {
                waveSource.Dispose();
                waveSource = null;
            }

            if (waveFile != null)
            {
                waveFile.Dispose();
                waveFile = null;
            }

            var payload = File.ReadAllBytes(fileNameRecord);

            String json = Task.Run(async() =>
            {
                HttpClient client = new HttpClient();
                client.DefaultRequestHeaders.Add("api-key", "3VCb8YQaGQOTqvNwGtf5GCg1ZZM1AyB6");
                var response = await client.PostAsync("https://api.fpt.ai/hmi/asr/general", new ByteArrayContent(payload));
                return(await response.Content.ReadAsStringAsync());
            }).GetAwaiter().GetResult();

            var data = JsonConvert.DeserializeObject <SpeechToTextData>(json);

            OutputText.Text = data.hypotheses[0].utterance;

            btnStop.IsEnabled = true;
            btnStop.Content   = "Stop";
        }
Ejemplo n.º 27
0
 private void button1_Click_1(object sender, EventArgs e)
 {
     if (waveIn == null)
     {
         waveIn = new WaveIn();
         int sampleRate = 22000;
         int channels   = 2;
         waveIn.WaveFormat     = new WaveFormat(sampleRate, channels);
         waveIn.DeviceNumber   = 2;
         waveIn.DataAvailable += new EventHandler <WaveInEventArgs>(waveIn_DataAvailable);
         iii++;
         var fname = "test" + iii + ".wav";
         writer = new WaveFileWriter(fname, waveIn.WaveFormat);
         waveIn.StartRecording();
         button1.Text = "stop " + fname;
     }
     else
     {
         waveIn.StopRecording();
         waveIn.Dispose();
         writer.Close();
         waveIn       = null;
         writer       = null;
         button1.Text = "start";
     }
 }
Ejemplo n.º 28
0
        /// <summary>
        /// Stop audio source.
        /// </summary>
        ///
        /// <remarks><para>Stops audio source.</para>
        /// </remarks>
        ///
        public void Stop()
        {
            if (_sampleChannel != null)
            {
                _sampleChannel.PreVolumeMeter -= SampleChannelPreVolumeMeter;
            }

            if (_waveIn != null)
            {
                // signal to stop
                _waveIn.DataAvailable -= WaveInDataAvailable;
                _waveIn.StopRecording();
                _waveIn.RecordingStopped -= WaveInRecordingStopped;


                if (WaveOutProvider != null)
                {
                    if (WaveOutProvider.BufferedBytes > 0)
                    {
                        WaveOutProvider.ClearBuffer();
                    }
                    WaveOutProvider = null;
                }

                _waveIn.Dispose();
                _waveIn = null;
            }
        }
Ejemplo n.º 29
0
        public void Stop()
        {
            //TODO: we might want to block here until RecordingStopped and PlaybackStopped are fired

            if (wave_source != null)
            {
                wave_source.StopRecording();
                wave_source.Dispose();
            }

            if (wave_out != null)
            {
                wave_out.Stop();
                wave_out.Dispose();
            }

            if (thread != null)
            {
                thread.Abort();
                thread.Join();
            }

            toxav.KillTransmission(CallIndex);
            toxav.Hangup(CallIndex);
        }
Ejemplo n.º 30
0
        public void SaveRecord()
        {
            try
            {
                waveOut.Stop();
                waveIn.StopRecording();

                if (File.Exists(outputFile))
                {
                    File.Delete(outputFile);
                }

                writer = new WaveFileWriter(outputFile, waveIn.WaveFormat);

                byte[] buffer = new byte[bwp.BufferLength];
                int    offset = 0;
                int    count  = bwp.BufferLength;

                var read = bwp.Read(buffer, offset, count);
                if (count > 0)
                {
                    writer.Write(buffer, offset, read);
                }

                waveIn.Dispose();
                waveIn = null;
                writer.Close();
                writer = null;
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }