/// <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); }
/// <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); }
/// <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); }
/// <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); }