public override bool VideoPlay() { VideoEnvironment_ZHSR.ZHSR_Main_Callback_Event -= VideoEnvironment_ZHSR_ZHSR_Main_Callback_Event; VideoEnvironment_ZHSR.ZHSR_Main_Callback_Event += VideoEnvironment_ZHSR_ZHSR_Main_Callback_Event; int intChannel = CurrentCameraInfo.Channel - 1; int md_tp = 1; int iRet = -1; if (CurrentVideoPlaySet.VideoTalkEnable) { md_tp = 3; iRet = SDK_ZHSRSDK.win_sta_usr_call_req(VideoEnvironment_ZHSR.Session, CurrentVideoInfo.DVSAddress, intChannel, 0, md_tp, 1, (int)intptrPlayMain); } else if (CurrentVideoPlaySet.VideoMonitorEnable) { iRet = SDK_ZHSRSDK.win_sta_start_monitor(VideoEnvironment_ZHSR.Session, CurrentVideoInfo.DVSAddress, intChannel, 0, 3, 1, (int)intptrPlayMain); } else { iRet = SDK_ZHSRSDK.win_sta_start_monitor(VideoEnvironment_ZHSR.Session, CurrentVideoInfo.DVSAddress, intChannel, 0, 1, 1, (int)intptrPlayMain); } VideoPlayCallback(new VideoPlayCallbackValue { evType = Enum_VideoPlayEventType.RequestConn }); if (iRet < 0) { VideoPlayCallback(new VideoPlayCallbackValue { evType = Enum_VideoPlayEventType.ConnFailed }); return(false); } return(true); }
/// <summary> /// 结束对讲 /// </summary> /// <returns></returns> public override bool StopTalk() { if (CurrentTalkSetting.ExecuteTalk) { VideoEnvironment_ZHSR.ZHSR_Main_Callback_Event -= VideoEnvironment_ZHSR_ZHSR_Main_Callback_Event; SDK_ZHSRSDK.win_sta_stop_task(VideoEnvironment_ZHSR.Session, Tsk_Guid); } StopTalked(null); CurrentTalkStatus = Enum_TalkStatus.Null; return(false); }
public override bool VideoClose() { VideoEnvironment_ZHSR.ZHSR_Main_Callback_Event -= VideoEnvironment_ZHSR_ZHSR_Main_Callback_Event; SDK_ZHSRSDK.win_sta_stop_task(VideoEnvironment_ZHSR.Session, Monitor_Guid); VideoPlayCallback(new VideoPlayCallbackValue { evType = Enum_VideoPlayEventType.VideoClose }); CommonMethod.Common.Delay_Millisecond(300); PicPlayMain.Refresh(); return(true); }
/// <summary> /// 开始对讲 /// </summary> /// <param name="talkModel"></param> /// <returns></returns> public override bool StartTlak(Enum_TalkModel talkModel) { if (CurrentTalkStatus != Enum_TalkStatus.Null) //处于对讲中 先关闭 { StopTalk(); } StartTalking(null); if (CurrentTalkSetting.ExecuteTalk) { VideoEnvironment_ZHSR.ZHSR_Main_Callback_Event -= VideoEnvironment_ZHSR_ZHSR_Main_Callback_Event; VideoEnvironment_ZHSR.ZHSR_Main_Callback_Event += VideoEnvironment_ZHSR_ZHSR_Main_Callback_Event; int intTalkChannel = CurrentTalkChannel.VideoTalkChannel - 1; SDK_ZHSRSDK.win_sta_usr_call_req(VideoEnvironment.VideoEnvironment_ZHSR.Session, CurrentVideoInfo.DVSAddress, intTalkChannel, 0, 2, 1, 0); } CurrentTalkStatus = (Enum_TalkStatus)(int)talkModel; return(false); }
/// <summary> /// 初始化 /// </summary> public static void Init(string SerIp, int SerPort, string UserName, string PassWord) { SDK_ZHSRSDK.func_Cb_Cli = Win_sta_core_func_Cb_Cli; //设置消息回调 string appPath = System.Environment.CurrentDirectory; //获取路径 SDK_ZHSRSDK.win_sta_pre_init(appPath, SDK_ZHSRSDK.func_Cb_Cli); //初始化 int back = SDK_ZHSRSDK.win_sta_init(SerIp, SerPort, UserName, PassWord); SDK_ZHSRSDK.win_sta_ctrl_usr_dec_play(1); if (back <= 0) { //登录失败 EnvironmentState = Enum_SDKState.SDK_InitFail; } else { Session = back; EnvironmentState = Enum_SDKState.SDK_Init; } }