コード例 #1
0
ファイル: boxHandler.cs プロジェクト: xhonker/cefsharp
        /// <summary>
        /// 软摘机/挂机
        /// </summary>
        /// <param name="result">1摘机 0挂机</param>
        public static void enableHook(int result)
        {
            try
            {
                if (result == 1)//摘机
                {
                    Utils.WriteLog(string.Format("软摘机"));
                    VoipHelper.StopVoice(VoipHelper.playHandle);
                    VoipHelper.lineToSpk(1);
                    VoipHelper.domicToLine(1);
                    if (VoipHelper.callState == VoipHelper.telState.IN)
                    {
                        ConstDefault.isMissed = false;

                        ConstDefault.retToJs resultToJs = new ConstDefault.retToJs();
                        resultToJs.action = ConstDefault.PHONE_CALLING;
                        Utils.resultToJavascript(resultToJs);
                    }
                    else
                    {
                        ConstDefault.retToJs resultToJs = new ConstDefault.retToJs();
                        resultToJs.action      = ConstDefault.PHONE_DIALING;
                        resultToJs.phoneNumber = VoipHelper.callNumber;
                        Utils.resultToJavascript(resultToJs);
                    }
                }
                else //挂机
                {
                    Utils.WriteLog(string.Format("软挂机"));
                    VoipHelper.lineToSpk(0);
                    VoipHelper.offHookCallNumber = null;
                    VoipHelper.playHandle        = VoipHelper.StopVoice(VoipHelper.playHandle);
                    ConstDefault.isBySelf        = true;
                    ConstDefault.isCalling       = false;

                    if (VoipHelper.callState == VoipHelper.telState.IN)
                    {
                        MainWindow.form.Topmost = false;
                    }
                    if (VoipHelper.isHookError)
                    {
                        VoipHelper.isHookError = false;
                        return;
                    }

                    ConstDefault.retToJs resultToJs = new ConstDefault.retToJs();
                    resultToJs.action = ConstDefault.PHONE_IDEL;
                    Utils.resultToJavascript(resultToJs);
                }
            }
            catch (Exception err)
            {
                VoipHelper.isHookError = true;
                ConstDefault.retToJs errToJs = new ConstDefault.retToJs();
                errToJs.action = ConstDefault.PHONE_IDEL;
                Utils.resultToJavascript(errToJs);
                VoipHelper.OffOnHook(0);
                Utils.WriteLog(string.Format("软摘软挂错误==>>{0}", err));
                return;
            }
        }