private void NotifyIcon1_MouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { recording = !recording; SetForegroundWindow(prev); if (recording) { waveIn = new WaveInEvent(); waveIn.WaveFormat = new WaveFormat(16000, 16, 1); memoryStream = new MemoryStream(); writer = new WaveFileWriter(memoryStream, waveIn.WaveFormat); timer.Enabled = true; try { waveIn.StartRecording(); } catch (Exception err) { MessageBox.Show(err.Message); } waveIn.DataAvailable += (s, a) => { Record.BackgroundImage = Properties.Resources.off_2_; notifyIcon1.Icon = Properties.Resources.off_2__ZwD_icon; writer.Write(a.Buffer, 0, a.BytesRecorded); }; waveIn.RecordingStopped += /*async*/ (s, a) => { Record.BackgroundImage = Properties.Resources.on_1_; notifyIcon1.Icon = Properties.Resources.on_1__p4m_icon; //Record.BackgroundImage = Image.FromFile("C:\\Users\\selim\\OneDrive\\Desktop\\giphy.webp"); /*await*/ ServerConnect.SendAudioGetResponse(memoryStream.ToArray(), this); if (writer != null) { writer.Dispose(); } writer = null; if (waveIn != null) { waveIn.Dispose(); } waveIn = null; }; } else { if (waveIn != null) { waveIn.StopRecording(); timer.Enabled = false; } } FormClosing += (s, a) => { if (waveIn != null) { waveIn.StopRecording(); } Application.ExitThread(); }; } }