Esempio n. 1
0
 private void UnHook()
 {
     if (Hook != null)
     {
         Hook.Dispose();
         Hook = null;
     }
 }
Esempio n. 2
0
 private void UnHook()
 {
     if (Hook != null)
     {
         Hook.Dispose();
         Hook = null;
         Controller.SetDefaultDevice(Controller.DefaultPlaybackDevice);
     }
 }
Esempio n. 3
0
        private void HookProcess(object sender, RoutedEventArgs e)
        {
            Controller.DefaultCaptureDevice.SetAsDefaultAsync();

            if (Hook != null)
            {
                UnHook();
                return;
            }

            if (SelectedProcess == null || SelectedAudioDevice == null)
            {
                return;
            }

            var sId = SelectedAudioDevice.RealId;

            Hook = new DefaultDeviceHook((dataFlow, role) =>
            {
                if (role != Role.Communications)
                {
                    return(sId);
                }

                return(null);
            });

            if (Hook.Hook(SelectedProcess.Id))
            {
                Hook.Complete += pid =>
                {
                    UnHook();
                };
            }
            else
            {
                Hook = null;
                MessageBox.Show(this, "Could not hook process");
            }
        }
Esempio n. 4
0
        private void HookProcess(object sender, RoutedEventArgs e)
        {
            if (Hook != null)
            {
                UnHook();
                return;
            }

            if (SelectedProcess == null || SelectedAudioDevice == null)
            {
                return;
            }

            var sId = SelectedAudioDevice.RealId;

            Hook = new DefaultDeviceHook(SelectedProcess.Id, (dataFlow, role) =>
            {
                return(sId);
            });
            Hook.Hook();
            Controller.SetDefaultDevice(Controller.DefaultPlaybackDevice);
        }