Пример #1
0
        private void SetDoulbeScreenRenderCallback(IntPtr pData)
        {
            try
            {
                AsynCallResult asynCallRulst = (AsynCallResult)Marshal.PtrToStructure(pData, typeof(AsynCallResult));
                Log.Logger.Debug($"SetDoulbeScreenRenderCallback回调结果{asynCallRulst.m_rc}--{asynCallRulst.m_message}");
                ReturnMessage setDoubleScreenMessage;

                if (asynCallRulst.m_rc == 0)
                {
                    setDoubleScreenMessage = ReturnMessage.GenerateData(asynCallRulst.m_message);
                }
                else
                {
                    setDoubleScreenMessage = ReturnMessage.GenerateError(asynCallRulst.m_message,
                                                                         asynCallRulst.m_rc.ToString());
                }

                SetResult("SetDoubleScreenRender", setDoubleScreenMessage);
            }
            catch (Exception ex)
            {
                Log.Logger.Error($"SetDoulbeScreenRenderCallback回调异常:{ex.Message}");
            }
        }
Пример #2
0
        private async Task <ReturnMessage> Request(string requestUrl, HttpContent content = null)
        {
            using (var httpClient = new HttpClient())
            {
                var serverAddress =
                    $"http://{GlobalData.Instance.ConfigManager.ServerInfo?.ServerIp}:{GlobalData.Instance.ConfigManager.ServerInfo?.BmsServerPort}";
                //var serverAddress = "http://114.112.74.110:81";
                httpClient.BaseAddress = new Uri(serverAddress);

                HttpResponseMessage response;
                ReturnMessage       bmsMessage;

                try
                {
                    response = content == null
                        ? await httpClient.GetAsync(requestUrl)
                        : await httpClient.PostAsync(requestUrl, content);
                }
                catch (Exception ex)
                {
                    Log.Logger.Error($"Request exception:{ex}");
                    bmsMessage = ReturnMessage.GenerateError(ex.Message, "-999");
                    return(bmsMessage);
                }


                if (response.IsSuccessStatusCode)
                {
                    var result = await response.Content.ReadAsStringAsync();

                    Log.Logger.Debug($"HttpResponseMessage Content:{result}");


                    JObject jObject = JObject.Parse(result.ToLower());
                    string  status  = jObject.SelectToken("status").ToString();
                    string  message = jObject.SelectToken("message").ToString();

                    if (status != "0")
                    {
                        bmsMessage = ReturnMessage.GenerateError(message, status);
                    }
                    else
                    {
                        bmsMessage = ReturnMessage.GenerateData(result);
                    }
                }
                else
                {
                    bmsMessage = ReturnMessage.GenerateError(response.ReasonPhrase,
                                                             response.StatusCode.ToString());
                }

                return(bmsMessage);
            }
        }
Пример #3
0
        private void StopLiveStreamCallback(IntPtr pData)
        {
            var stopLiveStreamResult = (AsynCallResult)Marshal.PtrToStructure(pData, typeof(AsynCallResult));

            ReturnMessage stopLiveMessage;

            if (stopLiveStreamResult.m_rc == 0)
            {
                stopLiveMessage = ReturnMessage.GenerateData(stopLiveStreamResult.m_message);
            }
            else
            {
                stopLiveMessage = ReturnMessage.GenerateError(stopLiveStreamResult.m_message,
                                                              stopLiveStreamResult.m_rc.ToString());
            }

            SetResult("StopLiveStream", stopLiveMessage);
        }
Пример #4
0
        private void SetRecordParamCallback(IntPtr pData)
        {
            var setRecordParamResult = (AsynCallResult)Marshal.PtrToStructure(pData, typeof(AsynCallResult));

            ReturnMessage setRecordMessage;

            if (setRecordParamResult.m_rc == 0)
            {
                setRecordMessage = ReturnMessage.GenerateData(setRecordParamResult.m_message);
            }
            else
            {
                setRecordMessage = ReturnMessage.GenerateError(setRecordParamResult.m_message,
                                                               setRecordParamResult.m_rc.ToString());
            }


            SetResult("SetRecordParameter", setRecordMessage);
        }
Пример #5
0
        private void OpenCameraCallback(IntPtr pData)
        {
            AsynCallResult openCameraResult = Marshal.PtrToStructure <AsynCallResult>(pData);

            ReturnMessage openCameraMessage;

            if (openCameraResult.m_rc == 0)
            {
                openCameraMessage = ReturnMessage.GenerateData(openCameraResult.m_message);
            }
            else
            {
                openCameraMessage = ReturnMessage.GenerateError(openCameraResult.m_message,
                                                                openCameraResult.m_rc.ToString());
            }


            OpenCameraEvent?.Invoke(openCameraMessage);
        }
Пример #6
0
        private void JoinMeetingCallback(IntPtr pData)
        {
            JoinMeetingResult joinMeetingResult =
                (JoinMeetingResult)Marshal.PtrToStructure(pData, typeof(JoinMeetingResult));

            ReturnMessage joinMeetingMessage;

            if (joinMeetingResult.m_result.m_rc == 0)
            {
                if (!string.IsNullOrEmpty(joinMeetingResult.m_meetingInfo.m_szTeacherPhoneId))
                {
                    MainSpeaker.Id = joinMeetingResult.m_meetingInfo.m_szTeacherPhoneId;
                }

                joinMeetingMessage = ReturnMessage.GenerateData(joinMeetingResult.m_meetingInfo.m_szTeacherPhoneId);
            }
            else
            {
                CurrentMeetingId = 0;
                switch (joinMeetingResult.m_result.m_rc)
                {
                case 13:
                    joinMeetingMessage = MessageManager.CameraNotSet;
                    break;

                case 14:
                    joinMeetingMessage = MessageManager.MicrophoneNotSet;
                    break;

                case 15:
                case -1009:
                    joinMeetingMessage = MessageManager.SpeakerNotSet;
                    break;

                default:
                    joinMeetingMessage = MessageManager.FailedToJoinMeeting;
                    break;
                }
            }

            SetResult("JoinMeeting", joinMeetingMessage);
        }
Пример #7
0
        private void StartRecordCallback(IntPtr pData)
        {
            var startRecrodResult =
                (LocalRecordResult)Marshal.PtrToStructure(pData, typeof(LocalRecordResult));

            ReturnMessage startRecordMessage;

            if (startRecrodResult.m_result.m_rc == 0)
            {
                startRecordMessage = ReturnMessage.GenerateData(startRecrodResult.m_liveId);
            }
            else
            {
                startRecordMessage = ReturnMessage.GenerateError(startRecrodResult.m_result.m_message,
                                                                 startRecrodResult.m_result.m_rc.ToString());
            }


            SetResult("StartRecord", startRecordMessage);
        }
Пример #8
0
        private void UpdateLiveVideoStreamsCallback(IntPtr pData)
        {
            var updateLiveVideoStreamsResult =
                (AsynCallResult)Marshal.PtrToStructure(pData, typeof(AsynCallResult));


            ReturnMessage updateLiveMessage;

            if (updateLiveVideoStreamsResult.m_rc == 0)
            {
                updateLiveMessage = ReturnMessage.GenerateData(updateLiveVideoStreamsResult.m_message);
            }
            else
            {
                updateLiveMessage = ReturnMessage.GenerateError(updateLiveVideoStreamsResult.m_message,
                                                                updateLiveVideoStreamsResult.m_rc.ToString());
            }

            SetResult("UpdateLiveVideoStreams", updateLiveMessage);
        }
Пример #9
0
        /// <summary>
        /// api返回结果即为结果,不是标准的带reusltcode,data,message
        /// </summary>
        /// <param name="requestUrl"></param>
        /// <param name="content"></param>
        /// <returns></returns>
        private async Task <ReturnMessage> HttpPostData(string requestUrl, HttpContent content = null, string baseUrl = "")
        {
            using (var httpClient = new HttpClient())
            {
                if (string.IsNullOrEmpty(baseUrl))
                {
                    baseUrl = $"http://{GlobalData.Instance.ConfigManager.ServerInfo.ServerIp}:{GlobalData.Instance.ConfigManager.ServerInfo.BmsServerPort}";
                }
                httpClient.BaseAddress = new Uri(baseUrl);
                HttpResponseMessage response;
                ReturnMessage       bmsMessage;
                try
                {
                    response = await httpClient.PostAsync(requestUrl, content);
                }
                catch (Exception ex)
                {
                    Log.Logger.Error($"HttpPostData exception:{ex}");

                    bmsMessage = ReturnMessage.GenerateError(ex.Message);
                    return(bmsMessage);
                }
                if (response.IsSuccessStatusCode)
                {
                    var result = await response.Content.ReadAsStringAsync();

                    Log.Logger.Debug($"HttpResponseMessage Content:{result}");

                    bmsMessage = ReturnMessage.GenerateData(result);
                }
                else
                {
                    bmsMessage = ReturnMessage.GenerateError(response.ReasonPhrase,
                                                             response.StatusCode.ToString());
                }

                return(bmsMessage);
            }
        }
Пример #10
0
        private void CreateMeetingCallback(IntPtr pData)
        {
            CreateMeetingResult createMeetingResult =
                (CreateMeetingResult)Marshal.PtrToStructure(pData, typeof(CreateMeetingResult));

            ReturnMessage createMeetingMessage;

            if (createMeetingResult.m_result.m_rc == 0)
            {
                MainSpeaker = CurrentAttendee;

                CurrentMeetingId = createMeetingResult.m_meetingId;

                createMeetingMessage = ReturnMessage.GenerateData(createMeetingResult.m_meetingId.ToString());
            }
            else
            {
                createMeetingMessage = ReturnMessage.GenerateError(createMeetingResult.m_result.m_message,
                                                                   createMeetingResult.m_result.m_rc.ToString());
            }

            SetResult("CreateMeeting", createMeetingMessage);
        }