private void InitAudioCapture()
 {
     try {
         mic = new AudioCapture(
             config.Audio.CaptureDeviceNumber,
             config.Audio.SampleRate,
             config.Audio.Channels);
     } catch (Exception ex) {
         throw new Exception("Audio capture settings don't work (if you don't want audio, remember to set the audio capture to (none) in the config tool)", ex);
     }
 }
 public void Dispose()
 {
     if (mic != null) {
         mic.Pause();
         mic.Dispose();
         mic = null;
     }
     if (cam != null) {
         cam.Pause();
         cam.Dispose();
         cam = null;
     }
     if (EncoderRunning) Stop();
     if (coreloops != null) {
         foreach (var loop in coreloops) {
             if (loop == null) continue;
             loop.Join();
         }
         coreloops.Clear();
     }
 }