コード例 #1
0
 private void btnRight_MouseDown(object sender, MouseEventArgs e)
 {
     try
     {
         QLCallManager.GetInstance().CurrentCall.StartSendFECC(FECCKey.RIGHT);
     }
     catch (Exception ex)
     {
         MessageBox.Show(this, ex.Message, "错误消息", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
コード例 #2
0
 private void btnLeft_MouseUp(object sender, MouseEventArgs e)
 {
     try
     {
         QLCallManager.GetInstance().CurrentCall.StopSendFECC();
     }
     catch (Exception ex)
     {
         MessageBox.Show(this, ex.Message, "错误消息", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
コード例 #3
0
 private void btn3_Click(object sender, EventArgs e)
 {
     try
     {
         QLCallManager.GetInstance().CurrentCall?.SendDTMFKey(DTMFKey.STAR);
         txtCallee.Text = txtCallee.Text + "3";
     }
     catch (Exception ex)
     {
         MessageBox.Show(this, ex.Message, "错误消息", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
コード例 #4
0
        private void btnAudioCall_Click(object sender, EventArgs e)
        {
            var callAddr = txtCallee.Text.Trim();

            if (string.IsNullOrEmpty(callAddr))
            {
                MessageBox.Show("被呼叫方必须");
                return;
            }
            try
            {
                QLCallManager.GetInstance().DialCall(callAddr, CallMode.AUDIO);
                OKAction?.Invoke();
                this.Dispose();
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, ex.Message, "消息通知", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #5
0
ファイル: HistoryPanel.cs プロジェクト: dazhouhu/QLSDK
        private void grdCalls_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            var dgv = (DataGridView)sender;

            if (e.ColumnIndex < 0)
            {
                return;
            }
            if (e.RowIndex < 0)
            {
                return;
            }
            var calls = dgv.DataSource as IEnumerable <QLSDK.Core.QLCall>;

            if (null != calls)
            {
                var call = calls.Skip(e.RowIndex).FirstOrDefault();
                if (null != call)
                {
                    var columnName = dgv.Columns[e.ColumnIndex].Name;
                    switch (columnName)
                    {
                        #region Answer
                    case "btnAnswer":
                    {
                        switch (call.CallState)
                        {
                        case QLSDK.Core.CallState.SIP_UNKNOWN:
                        case QLSDK.Core.CallState.SIP_CALL_CLOSED:
                        case QLSDK.Core.CallState.SIP_OUTGOING_FAILURE:
                            break;

                        case QLSDK.Core.CallState.SIP_INCOMING_INVITE:
                        {
                            if (null == QLDeviceManager.GetInstance().CurrentVideoInputDevice)
                            {
                                call.AnswerCall(QLSDK.Core.CallMode.AUDIO);
                            }
                            else
                            {
                                call.AnswerCall(call.CallMode);
                            }
                        } break;

                        case QLSDK.Core.CallState.SIP_INCOMING_CONNECTED:
                        case QLSDK.Core.CallState.SIP_CALL_HOLD:
                        case QLSDK.Core.CallState.SIP_CALL_HELD:
                        case QLSDK.Core.CallState.SIP_CALL_DOUBLE_HOLD:
                        case QLSDK.Core.CallState.SIP_OUTGOING_TRYING:
                        case QLSDK.Core.CallState.SIP_OUTGOING_RINGING:
                        case QLSDK.Core.CallState.SIP_OUTGOING_CONNECTED: break;
                        }
                    }
                    break;

                        #endregion
                        #region Hold
                    case "btnHold":
                    {
                        switch (call.CallState)
                        {
                        case QLSDK.Core.CallState.SIP_UNKNOWN:
                        case QLSDK.Core.CallState.SIP_CALL_CLOSED:
                        case QLSDK.Core.CallState.SIP_OUTGOING_FAILURE:
                            break;

                        case QLSDK.Core.CallState.SIP_INCOMING_INVITE:
                            break;

                        case QLSDK.Core.CallState.SIP_INCOMING_CONNECTED:
                        case QLSDK.Core.CallState.SIP_OUTGOING_CONNECTED:
                        {
                            call.HoldCall();
                        }
                        break;

                        case QLSDK.Core.CallState.SIP_CALL_HOLD:
                        case QLSDK.Core.CallState.SIP_CALL_HELD:
                        case QLSDK.Core.CallState.SIP_CALL_DOUBLE_HOLD:
                        case QLSDK.Core.CallState.SIP_OUTGOING_TRYING:
                        case QLSDK.Core.CallState.SIP_OUTGOING_RINGING:
                            break;
                        }
                    }
                    break;

                        #endregion
                        #region Resume
                    case "btnResume":
                    {
                        switch (call.CallState)
                        {
                        case QLSDK.Core.CallState.SIP_UNKNOWN:
                        case QLSDK.Core.CallState.SIP_CALL_CLOSED:
                        case QLSDK.Core.CallState.SIP_OUTGOING_FAILURE:
                            break;

                        case QLSDK.Core.CallState.SIP_INCOMING_INVITE:
                        case QLSDK.Core.CallState.SIP_INCOMING_CONNECTED:
                        case QLSDK.Core.CallState.SIP_OUTGOING_CONNECTED:
                        case QLSDK.Core.CallState.SIP_CALL_HELD:
                        case QLSDK.Core.CallState.SIP_OUTGOING_TRYING:
                        case QLSDK.Core.CallState.SIP_OUTGOING_RINGING:
                            break;

                        case QLSDK.Core.CallState.SIP_CALL_HOLD:
                        case QLSDK.Core.CallState.SIP_CALL_DOUBLE_HOLD:
                        {
                            call.ResumeCall();
                        }
                        break;
                        }
                    }
                    break;

                        #endregion
                        #region Hangup
                    case "btnHangup":
                    {
                        switch (call.CallState)
                        {
                        case QLSDK.Core.CallState.SIP_UNKNOWN:
                        case QLSDK.Core.CallState.SIP_CALL_CLOSED:
                        case QLSDK.Core.CallState.SIP_OUTGOING_FAILURE:
                            break;

                        case QLSDK.Core.CallState.SIP_INCOMING_INVITE:
                        case QLSDK.Core.CallState.SIP_INCOMING_CONNECTED:
                        case QLSDK.Core.CallState.SIP_OUTGOING_CONNECTED:
                        case QLSDK.Core.CallState.SIP_CALL_HELD:
                        case QLSDK.Core.CallState.SIP_OUTGOING_TRYING:
                        case QLSDK.Core.CallState.SIP_OUTGOING_RINGING:
                        case QLSDK.Core.CallState.SIP_CALL_HOLD:
                        case QLSDK.Core.CallState.SIP_CALL_DOUBLE_HOLD:
                        {
                            call.HangUpCall();
                        }
                        break;
                        }
                    }
                    break;

                        #endregion
                        #region AudioCall
                    case "btnAudioCall":
                    {
                        switch (call.CallState)
                        {
                        case QLSDK.Core.CallState.SIP_UNKNOWN:
                        case QLSDK.Core.CallState.SIP_CALL_CLOSED:
                        case QLSDK.Core.CallState.SIP_OUTGOING_FAILURE:
                        {
                            QLCallManager.GetInstance().DialCall(call.CallName, QLSDK.Core.CallMode.AUDIO);
                        }
                        break;

                        case QLSDK.Core.CallState.SIP_INCOMING_INVITE:
                        case QLSDK.Core.CallState.SIP_INCOMING_CONNECTED:
                        case QLSDK.Core.CallState.SIP_OUTGOING_CONNECTED:
                        case QLSDK.Core.CallState.SIP_CALL_HELD:
                        case QLSDK.Core.CallState.SIP_OUTGOING_TRYING:
                        case QLSDK.Core.CallState.SIP_OUTGOING_RINGING:
                        case QLSDK.Core.CallState.SIP_CALL_HOLD:
                        case QLSDK.Core.CallState.SIP_CALL_DOUBLE_HOLD:
                            break;
                        }
                    }
                    break;

                        #endregion
                        #region Video Call
                    case "btnVideoCall":
                    {
                        switch (call.CallState)
                        {
                        case QLSDK.Core.CallState.SIP_UNKNOWN:
                        case QLSDK.Core.CallState.SIP_CALL_CLOSED:
                        case QLSDK.Core.CallState.SIP_OUTGOING_FAILURE:
                        {
                            QLCallManager.GetInstance().DialCall(call.CallName, QLSDK.Core.CallMode.VIDEO);
                        }
                        break;

                        case QLSDK.Core.CallState.SIP_INCOMING_INVITE:
                        case QLSDK.Core.CallState.SIP_INCOMING_CONNECTED:
                        case QLSDK.Core.CallState.SIP_OUTGOING_CONNECTED:
                        case QLSDK.Core.CallState.SIP_CALL_HELD:
                        case QLSDK.Core.CallState.SIP_OUTGOING_TRYING:
                        case QLSDK.Core.CallState.SIP_OUTGOING_RINGING:
                        case QLSDK.Core.CallState.SIP_CALL_HOLD:
                        case QLSDK.Core.CallState.SIP_CALL_DOUBLE_HOLD:
                            break;
                        }
                    }
                    break;
                        #endregion
                    }
                }
            }
        }