public CallSession(IAudioRouter router) { _locker = new object(); _userToPort = new Dictionary <IUser, int>(); _router = router; State = CallState.Created; }
private MainAudioSession(string audioEndPointDeviceID, IProcessManager processManager, IAudioRouter audioRouter) { _processManager = processManager; _spytifyProcessId = _processManager.GetCurrentProcess()?.Id; _audioRouter = audioRouter; _cancellationTokenSource = new CancellationTokenSource(); AudioMMDevices = new MMDeviceEnumerator(); AudioMMDevicesManager = new AudioMMDevicesManager(AudioMMDevices, audioEndPointDeviceID); _audioLoopback = new AudioLoopback(AudioMMDevicesManager.AudioEndPointDevice, AudioMMDevicesManager.AudioMMDevices.GetDefaultAudioEndpoint(DataFlow.Render, Role.Multimedia)); AudioMMDevices.RegisterEndpointNotificationCallback(AudioMMDevicesManager); }