public SettingsViewModel(IUnityContainer container, CoreDispatcher dispatcher, IForegroundUpdateService foregroundUpdateService) { _foregroundUpdateService = foregroundUpdateService; _localSettings = ApplicationData.Current.LocalSettings; _dispatcher = dispatcher; _mediaSettings = container.Resolve <IMediaSettingsChannel>(); _callChannel = container.Resolve <ICallChannel>(); _ntpService = container.Resolve <NtpService>(); _ntpService.OnNtpSyncFailed += HandleNtpSynFailed; _ntpService.OnNtpTimeAvailable += HandleNtpTimeSync; CloseCommand = new DelegateCommand(OnCloseCommandExecute); SaveCommand = new DelegateCommand(OnSaveCommandExecute); QuitAppCommand = new DelegateCommand(OnQuitAppCommandExecute); DeleteIceServerCommand = new DelegateCommand <IceServerViewModel>(OnDeleteIceServerCommandExecute); AddIceServerCommand = new DelegateCommand(OnAddIceServerCommandExecute); // When AudioRoutingManager API is available, the UI elements related to microphone and speaker selection // are hidden from settings view. // In this case, the user will have the option to change the devices to be used from the call UI. // https://msdn.microsoft.com/en-us/library/windows/apps/windows.phone.media.devices.audioroutingmanager.aspx EnableAudioDeviceSelection = !ApiInformation.IsApiContractPresent("Windows.Phone.PhoneContract", 1); _foregroundUpdateService.OnMediaDevicesChanged += OnMediaDevicesChanged; }
private void SetupVoipContext() { if (_voipChannel == null) { var renderResolver = new Func <IVideoRenderHelper>(() => new VideoRenderHelper()); var voipCoordinator = new VoipCoordinator(); _voipContext = new VoipContext(this, null, renderResolver, voipCoordinator); _voipChannel = new VoipChannel(this, null, _voipContext); } if (_mediaSettingsChannel == null) { _mediaSettingsChannel = new MediaSettingsChannel(this, null, _voipContext); } }
public SettingsViewModel(IUnityContainer container, CoreDispatcher dispatcher) { _localSettings = ApplicationData.Current.LocalSettings; _dispatcher = dispatcher; _mediaSettings = container.Resolve <IMediaSettingsChannel>(); _voipChannel = container.Resolve <IVoipChannel>(); _ntpService = container.Resolve <NtpService>(); _ntpService.OnNTPSyncFailed += handleNtpSynFailed; _ntpService.OnNTPTimeAvailable += handleNtpTimeSync; CloseCommand = new DelegateCommand(OnCloseCommandExecute); SaveCommand = new DelegateCommand(OnSaveCommandExecute); QuitAppCommand = new DelegateCommand(OnQuitAppCommandExecute); DeleteIceServerCommand = new DelegateCommand <IceServerViewModel>(OnDeleteIceServerCommandExecute); AddIceServerCommand = new DelegateCommand(OnAddIceServerCommandExecute); }
public SettingsViewModel(IUnityContainer container, CoreDispatcher dispatcher) { _localSettings = ApplicationData.Current.LocalSettings; _dispatcher = dispatcher; _mediaSettings = container.Resolve<IMediaSettingsChannel>(); _voipChannel = container.Resolve<IVoipChannel>(); _ntpService = container.Resolve<NtpService>(); _ntpService.OnNTPSyncFailed += handleNtpSynFailed; _ntpService.OnNTPTimeAvailable += handleNtpTimeSync; CloseCommand = new DelegateCommand(OnCloseCommandExecute); SaveCommand = new DelegateCommand(OnSaveCommandExecute); QuitAppCommand = new DelegateCommand(OnQuitAppCommandExecute); DeleteIceServerCommand = new DelegateCommand<IceServerViewModel>(OnDeleteIceServerCommandExecute); AddIceServerCommand = new DelegateCommand(OnAddIceServerCommandExecute); }
public ConversationViewModel(IClientChannel clientChannel, IForegroundUpdateService foregroundUpdateService, ICallChannel callChannel, CoreDispatcher uiDispatcher, IMediaSettingsChannel settingsChannel) { _clientChannel = clientChannel; _callChannel = callChannel; _settingsChannel = settingsChannel; _uiDispatcher = uiDispatcher; _foregroundUpdateService = foregroundUpdateService; foregroundUpdateService.OnRelayMessagesUpdated += OnRelayMessagesUpdated; foregroundUpdateService.OnCallStatusUpdate += OnCallStatusUpdate; foregroundUpdateService.OnFrameFormatUpdate += OnFrameFormatUpdate; foregroundUpdateService.OnFrameRateUpdate += OnFrameRateUpdate; SendInstantMessageCommand = new DelegateCommand(OnSendInstantMessageCommandExecute, OnSendInstantMessageCommandCanExecute); AudioCallCommand = new DelegateCommand(OnCallCommandExecute, OnCallCommandCanExecute); VideoCallCommand = new DelegateCommand(OnVideoCallCommandExecute, OnVideoCallCommandCanExecute); HangupCommand = new DelegateCommand(OnHangupCommandExecute, OnHangupCommandCanExecute); AnswerCommand = new DelegateCommand(OnAnswerCommandExecute, OnAnswerCommandCanExecute); RejectCommand = new DelegateCommand(OnRejectCommandExecute, OnRejectCommandCanExecute); CloseConversationCommand = new DelegateCommand(OnCloseConversationCommandExecute, () => _canCloseConversation); MuteMicrophoneCommand = new DelegateCommand(MuteMicCommandExecute, MicCommandCanExecute); UnMuteMicrophoneCommand = new DelegateCommand(UnMuteCommandExecute, MicCommandCanExecute); SwitchVideoCommand = new DelegateCommand(SwitchVideoCommandExecute, SwitchVideoCommandCanExecute); IsAudioRoutingApiAvailable = ApiInformation.IsApiContractPresent("Windows.Phone.PhoneContract", 1); if (IsAudioRoutingApiAvailable) { ActivateSpeakerPhone = new DelegateCommand(ActivateSpeakerPhoneExecute, ActivateSpeakerPhoneCanExecute); DeactivateSpeakerPhone = new DelegateCommand(DeactivateSpeakerPhoneExecute, DeactivateSpeakerPhoneCanExecute); AudioRoutingManager.GetDefault().AudioEndpointChanged += AudioEndpointChanged; } ActivateFrontCamera = new DelegateCommand(ActivateFrontCameraExecute, ActivateFrontCameraCanExecute); ActivateBackCamera = new DelegateCommand(ActivateBackCameraExecute, ActivateBackCameraCanExecute); LayoutService.Instance.LayoutChanged += LayoutChanged; LayoutChanged(LayoutService.Instance.LayoutType); SetVideoPresenters(); }
private void SetupVoipContext() { if (_voipChannel == null) { var renderResolver = new Func<IVideoRenderHelper>(() => new VideoRenderHelper()); var voipCoordinator = new VoipCoordinator(); _voipContext = new VoipContext(this, null, renderResolver, voipCoordinator); _voipChannel = new VoipChannel(this, null, _voipContext); } if (_mediaSettingsChannel == null) { _mediaSettingsChannel = new MediaSettingsChannel(this, null, _voipContext); } }