private void UnHook() { if (Hook != null) { Hook.Dispose(); Hook = null; } }
private void UnHook() { if (Hook != null) { Hook.Dispose(); Hook = null; Controller.SetDefaultDevice(Controller.DefaultPlaybackDevice); } }
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"); } }
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); }