public void OnNetSDKMsg(IntPtr wParam, IntPtr lParam) { //wParam的低16位是消息的类型; int iMsgType = wParam.ToInt32() & 0xFFFF; switch (iMsgType) { case NetSDKMsg.WCM_LOGON_NOTIFY: { Int32 iStatus = wParam.ToInt32() >> 16; if (NetSDKMsg.LOGON_SUCCESS == iStatus) { MessageBox.Show("logon success!"); m_iLogonId = (Int32)lParam; //初始化通道列表 Int32 iChanNum = 0; SDK_TDWYSDK.NetClient_GetChannelNum(m_iLogonId, ref iChanNum); //cboChanList.Items.Clear(); //for (Int32 i = 0; i < iChanNum; ++i) //{ // cboChanList.Items.Add((i + 1).ToString()); //} //if (cboChanList.Items.Count > 0) //{ // cboChanList.SelectedIndex = 0; //} //btnLogon.Text = "Logoff"; ////登录成功后获取NTP信息 GetNtpInfo(); } else { MessageBox.Show("logon failed, reason " + iStatus); } } break; case NetSDKMsg.WCM_VIDEO_HEAD_EX: { //视频头消息来了,开始播放视频 SDK_TDWYSDK.NetClient_StopPlay(m_iConnectId); SDK_TDWYSDK.RECT rect = new SDK_TDWYSDK.RECT(); SDK_TDWYSDK.NetClient_StartPlay(m_iConnectId, pictureBox1.Handle, rect, 0); } break; default: break; } }
private void VideoEnvironment_TDWY_MAIN_NOTIFYEvent(uint _ulLogonID, IntPtr _iWparam, IntPtr _iLParam, int _iUser) { if (_ulLogonID == m_iLogonId) { //表示属于当前信息登录信息 switch (_iWparam.ToInt32()) { //登陆状态消息 //param1 登陆IP //param2 登陆ID //param3 登陆状态 case NetSDKMsg.WCM_LOGON_NOTIFY: Int32 iStatus = _iLParam.ToInt32(); if (iStatus == NetSDKMsg.LOGON_SUCCESS) { Console.WriteLine("登录成功"); } else { //触发相关时间进行提示 Console.WriteLine("登录失败,Status:" + iStatus); } break; case NetSDKMsg.WCM_VIDEO_HEAD: break; case NetSDKMsg.WCM_VIDEO_HEAD_EX: SDK_TDWYSDK.NetClient_StopPlay(m_iConnectId); this.BeginInvoke(new EventHandler(delegate { SDK_TDWYSDK.RECT rect = new SDK_TDWYSDK.RECT() { bottom = 0, left = 0, right = 0, top = 0 }; SDK_TDWYSDK.NetClient_StartPlay(m_iConnectId, pictureBox1.Handle, rect, 0); })); break; default: Console.WriteLine("TDWY- MyMAIN_NOTIFY_V4: " + _iWparam.ToInt32()); break; } } }