⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clientdemodlg.cpp

📁 基于海康威视DVR的完整远程监控程序
💻 CPP
📖 第 1 页 / 共 3 页
字号:
		case 0:
			aa6.m_bSendMode = TCPMODE;
			break;
		case 1:
			aa6.m_bSendMode = UDPMODE;
			break;
		case 2:
			aa6.m_bSendMode = MULTIMODE;
			break;
		case 3:
			aa6.m_bSendMode = DIALING;
			break;
		default:
			aa6.m_bSendMode = TCPMODE;
			break;
		}


		aa6.m_sIPAddress = ips;//"192.0.0.126";
		aa6.m_hShowVideo = hWnd6;

		aa6.m_sUserName = "123";
		aa6.m_sUserPassword="w";
		aa6.m_bUserCheck = TRUE;
		MP4_ClientSetTTL(32);
		nn2 = MP4_ClientStart(&aa6,NULL);
		if (nn2 == -1)
		{
			MessageBox("error");
			return;
		}
		switch(m_delaytype)
		{
		case 0:
			MP4_ClientSetBufferNum(nn2,30);
			MP4_ClientSetPlayDelay(nn2,580);
			break;
		case 1:
			MP4_ClientSetBufferNum(nn2,15);
			MP4_ClientSetPlayDelay(nn2,30);
			
			
			break;
		case 2:
			MP4_ClientSetBufferNum(nn2,15);
			MP4_ClientSetPlayDelay(nn2,0);
			break;
		case 3:
			MP4_ClientSetBufferNum(nn2,0);
			MP4_ClientSetPlayDelay(nn2,0);
			break;
		}
	//	MP4_ClientThrowBFrame(nn2,m_bframenum);

		MP4_ClientSetCapPicCallBack(nn2,CapPicFun);

	}


	itemp --;
	if (itemp<=0)
		goto GOTOEND;

	dtemp --;
	if (dtemp<=0)
		goto GOTOEND;

	Sleep(200);


	if (m_ifusecard[2])
	{
		CLIENT_CARDINFO aa7;

		hWnd7 = m_video7.GetSafeHwnd();//
		aa7.m_bRemoteChannel = 2;
		switch(m_linktype)
		{
		case 0:
			aa7.m_bSendMode = TCPMODE;
			break;
		case 1:
			aa7.m_bSendMode = UDPMODE;
			break;
		case 2:
			aa7.m_bSendMode = MULTIMODE;
			break;
		case 3:
			aa7.m_bSendMode = DIALING;
			break;
		default:
			aa7.m_bSendMode = TCPMODE;
			break;
		}


		m_video7.GetWindowRect(&recttemp);

		ScreenToClient((LPPOINT)&recttemp);
		ScreenToClient((LPPOINT)&recttemp+1);

		aa7.m_sIPAddress = ips;//"192.0.0.125";
	//	aa5.m_hShowVideo = hWnd5;

		aa7.m_sUserName = "123";
		aa7.m_sUserPassword="w";
		aa7.m_bUserCheck = TRUE;

		aa7.displaypara.nLeft = recttemp.left;
		aa7.displaypara.nTop = recttemp.top;
		aa7.displaypara.nWidth = recttemp.Width();
		aa7.displaypara.nHeight = recttemp.Height();
		aa7.displaypara.bToScreen = 1;
		aa7.displaypara.bToVideoOut = 1;
//		aa7.displaypara.format =vfYUV422Planar;
		aa7.displaypara.nReserved = 0;	
//		MP4_ClientSetTTL(64);
		HW_SetStreamOpenMode(hChannel[2],1);
		nn3 = MP4_ClientStart_Card(&aa7,2,NULL);
		if (nn3 == -1)
		{
			MessageBox("error");
			return;
		}
	}
	else
	{
		CLIENT_VIDEOINFO aa7;
		hWnd7 = m_video7.GetSafeHwnd();//
		aa7.m_bRemoteChannel = 2;
		switch(m_linktype)
		{
		case 0:
			aa7.m_bSendMode = TCPMODE;
			break;
		case 1:
			aa7.m_bSendMode = UDPMODE;
			break;
		case 2:
			aa7.m_bSendMode = MULTIMODE;
			break;
		case 3:
			aa7.m_bSendMode = DIALING;
			break;
		default:
			aa7.m_bSendMode = TCPMODE;
			break;
		}


		aa7.m_sIPAddress = ips;//"192.0.0.127";
		aa7.m_hShowVideo = hWnd7;

		aa7.m_sUserName = "123";
		aa7.m_sUserPassword="w";
		aa7.m_bUserCheck = TRUE;
		MP4_ClientSetTTL(64);
		nn3 = MP4_ClientStart(&aa7,NULL);
		if (nn3 == -1)
		{
			MessageBox("error");
			return;
		}
		switch(m_delaytype)
		{
		case 0:
			MP4_ClientSetBufferNum(nn3,30);
			MP4_ClientSetPlayDelay(nn3,580);
			break;
		case 1:
			MP4_ClientSetBufferNum(nn3,15);
			MP4_ClientSetPlayDelay(nn3,30);
		
			break;
		case 2:
			MP4_ClientSetBufferNum(nn3,15);
			MP4_ClientSetPlayDelay(nn3,0);
			break;
		case 3:
			MP4_ClientSetBufferNum(nn3,0);
			MP4_ClientSetPlayDelay(nn3,0);
			break;
		}
	//	MP4_ClientThrowBFrame(nn3,m_bframenum);

		MP4_ClientSetCapPicCallBack(nn3,CapPicFun);

	}


	itemp --;
	if (itemp<=0)
		goto GOTOEND;

	dtemp --;
	if (dtemp<=0)
		goto GOTOEND;

	Sleep(200);

	if (m_ifusecard[3])
	{
		CLIENT_CARDINFO aa8;

		hWnd8 = m_video8.GetSafeHwnd();//
		aa8.m_bRemoteChannel = 3;
		switch(m_linktype)
		{
		case 0:
			aa8.m_bSendMode = TCPMODE;
			break;
		case 1:
			aa8.m_bSendMode = UDPMODE;
			break;
		case 2:
			aa8.m_bSendMode = MULTIMODE;
			break;
		case 3:
			aa8.m_bSendMode = DIALING;
			break;
		default:
			aa8.m_bSendMode = TCPMODE;
			break;
		}


		m_video8.GetWindowRect(&recttemp);

		ScreenToClient((LPPOINT)&recttemp);
		ScreenToClient((LPPOINT)&recttemp+1);

		aa8.m_sIPAddress = ips;//"192.0.0.125";
	//	aa5.m_hShowVideo = hWnd5;

		aa8.m_sUserName = "123";
		aa8.m_sUserPassword="w";
		aa8.m_bUserCheck = TRUE;

		aa8.displaypara.nLeft = recttemp.left;
		aa8.displaypara.nTop = recttemp.top;
		aa8.displaypara.nWidth = recttemp.Width();
		aa8.displaypara.nHeight = recttemp.Height();
		aa8.displaypara.bToScreen = 1;
		aa8.displaypara.bToVideoOut = 1;
//		aa8.displaypara.format =vfYUV422Planar;
		aa8.displaypara.nReserved = 0;
	//	MP4_ClientSetTTL(64);
		HW_SetStreamOpenMode(hChannel[3],1);
		nn4 = MP4_ClientStart_Card(&aa8,3,NULL);
		if (nn4 == -1)
		{
			MessageBox("error");
			return;
		}
	}
	else
	{
		CLIENT_VIDEOINFO aa8;

		hWnd8 = m_video8.GetSafeHwnd();//
		aa8.m_bRemoteChannel = 3;
		switch(m_linktype)
		{
		case 0:
			aa8.m_bSendMode = TCPMODE;
			break;
		case 1:
			aa8.m_bSendMode = UDPMODE;
			break;
		case 2:
			aa8.m_bSendMode = MULTIMODE;
			break;
		case 3:
			aa8.m_bSendMode = DIALING;
			break;
		default:
			aa8.m_bSendMode = TCPMODE;
			break;
		}


		aa8.m_sIPAddress = ips;//"192.0.0.128";
		aa8.m_hShowVideo = hWnd8;

		aa8.m_sUserName = "123";
		aa8.m_sUserPassword="w";
		aa8.m_bUserCheck = TRUE;
		MP4_ClientSetTTL(64);
		nn4 = MP4_ClientStart(&aa8,NULL);
		if (nn4 == -1)
		{
			MessageBox("error");
			return;
		}
		switch(m_delaytype)
		{
		case 0:
			MP4_ClientSetBufferNum(nn4,30);
			MP4_ClientSetPlayDelay(nn4,580);
			break;
		case 1:
			MP4_ClientSetBufferNum(nn4,15);
			MP4_ClientSetPlayDelay(nn4,30);
   
			
			break;
		case 2:
			MP4_ClientSetBufferNum(nn4,15);
			MP4_ClientSetPlayDelay(nn4,0);
			break;
		case 3:
			MP4_ClientSetBufferNum(nn4,0);
			MP4_ClientSetPlayDelay(nn4,0);
			break;
		}
	//	MP4_ClientThrowBFrame(nn4,m_bframenum);
		MP4_ClientSetCapPicCallBack(nn4,CapPicFun);
	}

	itemp --;
	if (itemp<=0)
		goto GOTOEND;

	dtemp --;
	if (dtemp<=0)
		goto GOTOEND;

GOTOEND:
	remains=SetTimer(10,1000,NULL);

	pButton1 = (CButton*)GetDlgItem(IDC_BUTTON2);
	pButton1->EnableWindow(TRUE);



}

void CClientdemoDlg::OnButton2() 
{
	CWnd* pButton1;
	if (remains)
	{
		remains = 0;
		KillTimer(remains);
	}
	pButton1 = (CButton*)GetDlgItem(IDC_BUTTON2);
	pButton1->EnableWindow(FALSE);
	if (filetimer)
	{
		KillTimer(filetimer);
		filetimer = 0;
	}

	if (nn1 >= 0)
	{
		MP4_ClientStopCapture(nn1);
		MP4_ClientStop(nn1);
	}

	nn1=-1;


	Sleep(100);

	if (nn2 >= 0)
	{
		MP4_ClientStopCapture(nn2);
		MP4_ClientStop(nn2);
	}
	Sleep(100);

	nn2=-1;

	if (nn3 >= 0)
	{
		MP4_ClientStopCapture(nn3);
		MP4_ClientStop(nn3);
	}
	Sleep(100);

	nn3=-1;
	if (nn4 >= 0)
	{
		MP4_ClientStopCapture(nn4);
		MP4_ClientStop(nn4);
	}
	Sleep(100);

	nn4=-1;

	m_video5.Invalidate(TRUE);
	m_video6.Invalidate(TRUE);
	m_video7.Invalidate(TRUE);
	m_video8.Invalidate(TRUE);

	MP4_ClientClearSurface_Card();

	UpdateData(FALSE);

	

	pButton1 = (CButton*)GetDlgItem(IDC_BUTTON1);
	pButton1->EnableWindow(TRUE);


	MessageBox("stop");
	
}

void CClientdemoDlg::OnTimer(UINT nIDEvent) 
{

	if (nIDEvent == 1)
	{
	}
	else if (nIDEvent == 10)
	{
		if (nn1>=0)
		{
			m_frameshow.Format("nowframenum:%ld",MP4_ClientGetFrameNum(nn1));
			UpdateData(FALSE);
		}
	}


	CDialog::OnTimer(nIDEvent);
}

void CClientdemoDlg::OnStatic5() 
{
	// TODO: Add your control notification handler code here
	ipos = 0;
}

void CClientdemoDlg::OnStatic7() 
{

	ipos = 2;	
}

void CClientdemoDlg::OnStatic6() 
{

	ipos = 1;	
}

void CClientdemoDlg::OnStatic8() 
{

	ipos = 3;	
}


//stop record
void CClientdemoDlg::OnButton4() 
{
	CWnd* pButton1;

	if (nn1>=0)
		MP4_ClientStopCapture(nn1);

	if (nn2>=0)
		MP4_ClientStopCapture(nn2);

	if (nn3>=0)
		MP4_ClientStopCapture(nn3);

	if (nn4>=0)
		MP4_ClientStopCapture(nn4);

	pButton1 = (CButton*)GetDlgItem(IDC_BUTTON4);
	pButton1->EnableWindow(FALSE);
	pButton1 = (CButton*)GetDlgItem(IDC_BUTTON8);
	pButton1->EnableWindow(TRUE);

}

void CClientdemoDlg::OnButton3() 
{
	char ctemp[256];
	char ips[256];
	WORD wtemp;
	UpdateData(TRUE);
	sprintf(ips,"%s",m_ipadd);
	wtemp = MP4_ClientGetServerChanNum(ips);
	sprintf(ctemp,"%d",wtemp);
	MessageBox(ctemp);
}

void CClientdemoDlg::OnButton6() 
{

	char ctemp[256];
	char sendcont[500];
	CString firstco;
	firstco = "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789";
	MP4_ClientSetWait(3000,10);
//	for(int i=0;i<100;i++)
	{
		memset(sendcont,0,500);
		UpdateData(TRUE);
		sprintf(ctemp,"%s",m_ipadd);
		sprintf(sendcont,"%s send content %d",firstco,testnum);
		testnum++;
		if (testnum > 200)
			testnum=0;
		MP4_ClientCommandtoServer((LPCTSTR)ctemp,sendcont,400);
		Sleep(100);
	}

}


void CClientdemoDlg::OnMyCommand(WPARAM wParam, LPARAM lParam)
{
	char ctemp[1000];
	switch((BYTE)wParam)
	{
	case RECDATAERR:
		{
			CTime time;
			time = CTime::GetCurrentTime();
			break;
		}
	case PLAYERR:
		{
			CTime time;
			time = CTime::GetCurrentTime();
			break;
		}
	case REFUSED:
		{
			CTime time;
			time = CTime::GetCurrentTime();
			break;
		}
	case VERSIONERR:
		{
			CTime time;
			time = CTime::GetCurrentTime();
			break;
		}
	case GETSTRING:
		{
			WORD tlen;
			char ips[30];
			memset(ctemp,0,1000);
			MP4_ClientReadLastMessage(ips,ctemp,&tlen);
			sprintf(&(ctemp[tlen]),"\r\n");
//			TRACE(ctemp);
			break;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -