public void OnPushToTalkStateChanged(object sender, PushToTalkStateChangedEventArgs e) { mPttActive = e.Down; if (mAfvUserClient.IsConnected && mAfvUserClient.Started && ClientAudioUtilities.IsInputDevicePresent()) { if (mRadioStackState.IsCom1Transmitting) { ComRadioTransmittingChanged?.Invoke(this, new ComRadioTxRxChangedEventArgs(1, mPttActive)); } if (mRadioStackState.IsCom2Transmitting) { ComRadioTransmittingChanged?.Invoke(this, new ComRadioTxRxChangedEventArgs(2, mPttActive)); } mAfvUserClient.PTT(mPttActive); } }
private void StopClientConnection() { try { ComRadioTransmittingChanged?.Invoke(this, new ComRadioTxRxChangedEventArgs(1, false)); ComRadioReceivingChanged?.Invoke(this, new ComRadioTxRxChangedEventArgs(1, false)); ComRadioTransmittingChanged?.Invoke(this, new ComRadioTxRxChangedEventArgs(2, false)); ComRadioReceivingChanged?.Invoke(this, new ComRadioTxRxChangedEventArgs(2, false)); if (mAfvUserClient.Started) { mAfvUserClient.Stop(); } mUpdateTransceiverTimer.Stop(); } catch (Exception ex) { NotificationPosted?.Invoke(this, new NotificationPostedEventArgs(NotificationType.Error, "Error stopping voice server client: " + ex.Message)); } }
private void SetAicraftRadioStatus() { if (mRadioStackState.IsCom1Transmitting) { mAfvUserClient.TransmittingTransceivers(1); ComRadioTransmittingChanged?.Invoke(this, new ComRadioTxRxChangedEventArgs(1, mPttActive)); ComRadioTransmittingChanged?.Invoke(this, new ComRadioTxRxChangedEventArgs(2, false)); } else if (mRadioStackState.IsCom2Transmitting) { mAfvUserClient.TransmittingTransceivers(2); ComRadioTransmittingChanged?.Invoke(this, new ComRadioTxRxChangedEventArgs(1, false)); ComRadioTransmittingChanged?.Invoke(this, new ComRadioTxRxChangedEventArgs(2, mPttActive)); } else { ComRadioTransmittingChanged?.Invoke(this, new ComRadioTxRxChangedEventArgs(1, false)); ComRadioTransmittingChanged?.Invoke(this, new ComRadioTxRxChangedEventArgs(2, false)); } }