Пример #1
0
        /// <summary>
        /// 获取设备清晰度功能
        /// </summary>
        /// <param name="strDvsAddress"></param>
        /// <param name="intChannel"></param>
        /// <returns></returns>
        public static List <SDK_EzvizSDK.VideoQualityInfo> GetDevVideoQualityInfo(string strDvsAddress, int intChannel)
        {
            List <SDK_EzvizSDK.VideoQualityInfo> result = new List <SDK_EzvizSDK.VideoQualityInfo>();
            string strBuf = string.Empty;
            IntPtr hBuf   = Marshal.StringToHGlobalAnsi(strBuf);
            int    iLen   = 0;
            int    iRet   = SDK_EzvizSDK.OpenSDK_Data_GetDevDetailInfo(strDvsAddress, intChannel, false, ref hBuf, ref iLen);

            if (iRet == 0)
            {
                strBuf = Marshal.PtrToStringAnsi(hBuf);
                Newtonsoft.Json.Linq.JObject json = Newtonsoft.Json.Linq.JObject.Parse(strBuf);
                if (json["videoQualityInfos"] != null)
                {
                    List <Newtonsoft.Json.Linq.JToken> listRecord = json["videoQualityInfos"].Children().ToList();
                    int i        = 0;
                    int tabIndex = i;
                    listRecord.ForEach(x =>
                    {
                        result.Add(Newtonsoft.Json.JsonConvert.DeserializeObject <SDK_EzvizSDK.VideoQualityInfo>(x.ToString()));
                    });
                }
            }
            return(result);
        }
Пример #2
0
 /// <summary>
 /// 萤石云_SDK释放
 /// </summary>
 public static Enum_SDKState Ezviz_SDKRelease()
 {
     SDKEventCallBack(Enum_VideoType.Ezviz, Enum_SDKStateEventType.SDKReleaseStart);
     SDK_EzvizSDK.OpenSDK_FiniLib();
     EzvizSDKState = Enum_SDKState.SDK_Release;
     SDKEventCallBack(Enum_VideoType.Ezviz, Enum_SDKStateEventType.SDKReleaseEnd);
     return(EzvizSDKState);
 }
Пример #3
0
        /// <summary>
        /// 获取设备是否在线
        /// 1在线 0离线 -1 状态未明 -2表示表示无设备权限
        /// </summary>
        /// <param name="strDevSerial"></param>
        /// <returns></returns>
        public static int GetDevOnlineState(string strDevSerial, int intChannel)
        {
            //Thread.Sleep(10000);
            int    intResult          = -1;
            string Temp_strDeviceData = "";

            try
            {
                IntPtr intptrToken     = Marshal.StringToHGlobalAnsi(ProgParameter.strEzviz_AccessToken);
                IntPtr intptrDevSerial = Marshal.StringToHGlobalAnsi(strDevSerial);
                IntPtr intptrDevInfo   = IntPtr.Zero;
                int    intLength;
                int    Temp_intResult = SDK_EzvizSDK.OpenSDK_Data_GetDeviceInfo(intptrToken, intptrDevSerial, out intptrDevInfo, out intLength);
                if (Temp_intResult != 0)
                {
                    //接口获取信息失败 状态置为未知
                    intResult = -1;
                }
                else
                {
                    string strResult = Marshal.PtrToStringAnsi(intptrDevInfo);
                    Temp_strDeviceData = strResult;
                    if (!string.IsNullOrEmpty(strResult))
                    {
                        JObject           Temp_jobject  = (JObject)JsonConvert.DeserializeObject(strResult);
                        JsonRequestResult RequestResult = (JsonRequestResult)Convert.ToInt32(Temp_jobject["result"]["code"]);
                        if (RequestResult == JsonRequestResult.RequestSuccess)
                        {
                            //请求成功 赋值
                            JArray jar = JArray.Parse(Temp_jobject["result"]["data"].ToString());
                            foreach (JObject jo in jar)
                            {
                                if (intChannel.ToString() == jo["cameraNo"].ToString())
                                {
                                    intResult = Convert.ToInt32(jo["status"]);
                                    break;
                                }
                            }
                        }
                        else if (RequestResult == JsonRequestResult.NoDeviceAuthority)
                        {
                            intResult = -2;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                CommonMethod.LogWrite.WritExceptionLog("GetDevOnlineState", ex);
                CommonMethod.LogWrite.WriteEventLog("DevException ", Temp_strDeviceData);
                intResult = -1;
            }
            intResult = -1;
            return(intResult);
        }
Пример #4
0
 /// <summary>
 /// 萤石云_初始化SDK
 /// 初始化完成后需要获取Token
 /// </summary>
 public static Enum_SDKState Ezviz_SDKInit()
 {
     //int intResult=
     SDKEventCallBack(Enum_VideoType.Ezviz, Enum_SDKStateEventType.SDKInitStart);
     if (EzvizSDKState != Enum_SDKState.SDK_Init)
     {
         if (SDK_EzvizSDK.OpenSDK_InitLib(ProgParameter.strEzviz__AuthAddr, ProgParameter.strEzviz__PlatForm, ProgParameter.strEzviz__AppID) == 0)
         {
             EzvizSDKState = Enum_SDKState.SDK_Init;
             SDK_EzvizSDK.GetAccessToken();
             IntPtr intptrToken = Marshal.StringToHGlobalAnsi(ProgParameter.strEzviz_AccessToken);
             SDK_EzvizSDK.OpenSDK_SetAccessToken(intptrToken);
             SDK_EzvizSDK.OpenSDK_SetConfigInfo(SDK_EzvizSDK.ConfigKey.CONFIG_OPEN_STREAMTRANS, 1);
         }
         else
         {
             EzvizSDKState = Enum_SDKState.SDK_InitFail;
         }
     }
     SDKEventCallBack(Enum_VideoType.Ezviz, Enum_SDKStateEventType.SDKInitEnd);
     return(EzvizSDKState);
 }