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

📄 clientdemodlg.cpp

📁 基于海康威视DVR的完整远程监控程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
{
	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);

	UpdateData(FALSE);

	

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


	MessageBox("End!");
	
}

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


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();
			sprintf(ctemp,"%d index%d,receive error",time.GetHour(),(BYTE)lParam);
			break;
		}
	case PLAYERR:
		{
			CTime time;
			time = CTime::GetCurrentTime();
			sprintf(ctemp,"%d index%d,play error",time.GetHour(),(BYTE)lParam);
			break;
		}
	case REFUSED:
		{
			CTime time;
			time = CTime::GetCurrentTime();
			sprintf(ctemp,"%d index%d,no permission",time.GetHour(),(BYTE)lParam);
			break;
		}
	case VERSIONERR:
		{
			CTime time;
			time = CTime::GetCurrentTime();
			sprintf(ctemp,"%d index%d,version error",time.GetHour(),(BYTE)lParam);
			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;

		}


	default:
		{
			sprintf(ctemp,"index%d,message%d",(BYTE)lParam,(BYTE)wParam);
			break;
		}
	}
	MessageBox(ctemp);

}


void CClientdemoDlg::OnDestroy() 
{
	if (nn1 >= 0)
	{
		MP4_ClientStopCapture(nn1);
//		ClientStopPlay(nn5);
		MP4_ClientStop(nn1);
	}
	if (nn2 >= 0)
	{
		MP4_ClientStopCapture(nn2);
//		ClientStopPlay(nn5);
		MP4_ClientStop(nn2);
	}
	if (nn3 >= 0)
	{
		MP4_ClientStopCapture(nn3);
//		ClientStopPlay(nn5);
		MP4_ClientStop(nn3);
	}
	if (nn4 >= 0)
	{
		MP4_ClientStopCapture(nn4);
//		ClientStopPlay(nn5);
		MP4_ClientStop(nn4);
	}

	MP4_ClientCleanup();
	CDialog::OnDestroy();
}

void CClientdemoDlg::OnButton5() 
{

	char ctemp[256];
	UpdateData(TRUE);
	sprintf(ctemp,"%s",m_ipadd);
	MP4_ClientShut((LPCTSTR)ctemp,0);
}

void CClientdemoDlg::OnButton7() 
{
	MP4_ClientAudioStop();

}

void CClientdemoDlg::OnDbStatic1()
{
	if (nn1 >= 0 )
	{
		MP4_ClientAudioStart(nn1);
		MP4_ClientAudioVolume(0xfff0);
	}
	if (blarged)
	{
		ScreenToClient((LPPOINT)&orirc);
		ScreenToClient((LPPOINT)&orirc+1);

		m_video5.MoveWindow(orirc,TRUE);
		m_video6.ShowWindow(SW_SHOW);
		m_video7.ShowWindow(SW_SHOW);
		m_video8.ShowWindow(SW_SHOW);

		blarged = FALSE;
	}
	else
	{
		m_video6.ShowWindow(SW_HIDE);
		m_video7.ShowWindow(SW_HIDE);
		m_video8.ShowWindow(SW_HIDE);

		m_video5.GetWindowRect(&orirc);
		m_video5.MoveWindow(10,10,(int)(352*1.6),(int)(288*1.6),TRUE);
		blarged = TRUE;
	}

}

void CClientdemoDlg::OnDbStatic2()
{
	if (nn2 >=0 )
	{
		MP4_ClientAudioStart(nn2);
		MP4_ClientAudioVolume(0xfff0);
	}


}

void CClientdemoDlg::OnDbStatic3()
{
	if (nn3 >=0 )
	{
		MP4_ClientAudioStart(nn3);
		MP4_ClientAudioVolume(0xfff0);
	}


}

void CClientdemoDlg::OnDbStatic4()
{
	if (nn4 >=0 )
	{
		MP4_ClientAudioStart(nn4);
		MP4_ClientAudioVolume(0xfff0);
	}

}

BOOL CClientdemoDlg::DestroyWindow() 
{
	return CDialog::DestroyWindow();
}


void CClientdemoDlg::OnButton8() 
{
	char filename[256];
	CWnd* pButton1;

	if (nn1 >= 0)
	{
		sprintf(filename,"d:\\mp4test1_%d.mp4",capcount);
		MP4_ClientStartCaptureFile(nn1,filename);
		//MP4_ClientStartCapture(nn1);
	}
	if (nn2 >= 0)
	{
		sprintf(filename,"d:\\mp4test2_%d.mp4",capcount);
		MP4_ClientStartCaptureFile(nn2,filename);
	}
	if (nn3 >= 0)
	{
		sprintf(filename,"d:\\mp4test3_%d.mp4",capcount);
		MP4_ClientStartCaptureFile(nn3,filename);
	}
	if (nn4 >= 0)
	{
		sprintf(filename,"d:\\mp4test4_%d.mp4",capcount);
		MP4_ClientStartCaptureFile(nn4,filename);
	}
	capcount++;

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

	//

}

void CClientdemoDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
	//
//	char cpos;
//	cpos = (char)(m_playtryl.GetPos());



	
	CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

HBRUSH CClientdemoDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	// TODO: Return a different brush if the default is not desired
	if (bmode)
	{
		CWnd*pSubWnd=GetDlgItem(IDC_STATIC5);
		if(pWnd->m_hWnd==pSubWnd->m_hWnd)
		{
			pDC->SetBkColor(RGB(255,0,255));
			HBRUSH hBrush=::CreateSolidBrush(COLORREF(0xff00ff));
			return hBrush;
		}
	}
	return hbr;
}

void CClientdemoDlg::OnShowmode2() 
{
	bmode = TRUE;	
	GetDlgItem(IDC_STATIC5)->Invalidate(TRUE);
	
}

void CClientdemoDlg::OnShowmode1() 
{
	bmode = FALSE;	
	GetDlgItem(IDC_STATIC5)->Invalidate(TRUE);
}

void CClientdemoDlg::OnButton10() 
{
	g_bCapPic	 = TRUE;
}

void CClientdemoDlg::OnRadiobfram0() 
{
	if (nn1>=0)
	{
//		MP4_ClientThrowBFrame(nn1,0);
	}
	if (nn2>=0)
	{
//		MP4_ClientThrowBFrame(nn2,0);
	}
	if (nn3>=0)
	{
//		MP4_ClientThrowBFrame(nn3,0);
	}
	if (nn4>=0)
	{
//		MP4_ClientThrowBFrame(nn4,0);
	}


	
}

void CClientdemoDlg::OnRadiobfram1() 
{
	if (nn1>=0)
	{
//		MP4_ClientThrowBFrame(nn1,1);
	}
	if (nn2>=0)
	{
//		MP4_ClientThrowBFrame(nn2,1);
	}
	if (nn3>=0)
	{
//		MP4_ClientThrowBFrame(nn3,1);
	}
	if (nn4>=0)
	{
//		MP4_ClientThrowBFrame(nn4,1);
	}
	
}

void CClientdemoDlg::OnRadiobfram2() 
{
	if (nn1>=0)
	{
//		MP4_ClientThrowBFrame(nn1,2);
	}
	if (nn2>=0)
	{
//		MP4_ClientThrowBFrame(nn2,2);
	}
	if (nn3>=0)
	{
//		MP4_ClientThrowBFrame(nn3,2);
	}
	if (nn4>=0)
	{
//		MP4_ClientThrowBFrame(nn4,2);
	}
	
}

void CClientdemoDlg::OnButtonCleanBuffer() 
{
	// clean client buffer
	//if ( nn1 != -1 )
	//	MP4_ClientCleanBuffer(nn1,0);	

	// clean server buffer
	//if ( nn1 != - 1)
	//	MP4_ClientCleanBuffer(nn1,1);

	// clean server/client buffer
	if ( nn1 != -1 )
		MP4_ClientCleanBuffer(nn1,2);
}

void CClientdemoDlg::OnSelchangeCombo1() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);

	m_iWndNum = m_windowCtrl.GetCurSel()+1;
	switch(m_iWndNum) {
	case 1:
		if(nn1 >= 0)
		{
			if(MP4_ClientGetVideoPara(nn1, 0, &m_iBrightness, &m_iContrast, &m_iSaturation, &m_iHue))
			{
				m_brightness.SetPos(m_iBrightness);
				m_contrast.SetPos(m_iContrast);
				m_saturation.SetPos(m_iSaturation);
				m_hue.SetPos(m_iHue);
				return; 
			}			
		}
		break;
	case 2:
		if(nn2 >= 0)
		{
			if(MP4_ClientGetVideoPara(nn2, 0, &m_iBrightness, &m_iContrast, &m_iSaturation, &m_iHue))
			{
				m_brightness.SetPos(m_iBrightness);
				m_contrast.SetPos(m_iContrast);
				m_saturation.SetPos(m_iSaturation);
				m_hue.SetPos(m_iHue);
				return;
			}
		}
		break;
	case 3:
		if(nn3 >= 0)
		{
			if(MP4_ClientGetVideoPara(nn3, 0, &m_iBrightness, &m_iContrast, &m_iSaturation, &m_iHue))
			{
				m_brightness.SetPos(m_iBrightness);
				m_contrast.SetPos(m_iContrast);
				m_saturation.SetPos(m_iSaturation);
				m_hue.SetPos(m_iHue);
				return;
			}
		}
		break;
	case 4:
		if(nn4 >= 0)
		{
			if(MP4_ClientGetVideoPara(nn4, 0, &m_iBrightness, &m_iContrast, &m_iSaturation, &m_iHue))
			{
				m_brightness.SetPos(m_iBrightness);
				m_contrast.SetPos(m_iContrast);
				m_saturation.SetPos(m_iSaturation);
				m_hue.SetPos(m_iHue);
				return;
			}
		}
		break;
	default:
		break;
	}	
//	AfxMessageBox("Get Video Parameter Failed!");
	m_iBrightness = m_iContrast = m_iSaturation = m_iHue = DEFAULTVAL;
	m_brightness.SetPos(DEFAULTVAL);
	m_contrast.SetPos(DEFAULTVAL);
	m_saturation.SetPos(DEFAULTVAL);
	m_hue.SetPos(DEFAULTVAL);	
}

void CClientdemoDlg::OnReleasedcaptureSlider1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	m_iBrightness = m_brightness.GetPos();
	SliderContral();
	*pResult = 0;
}

void CClientdemoDlg::OnReleasedcaptureSlider2(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	m_iContrast = m_contrast.GetPos();
	SliderContral();
	*pResult = 0;
}

void CClientdemoDlg::OnReleasedcaptureSlider3(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	m_iSaturation = m_saturation.GetPos();
	SliderContral();
	*pResult = 0;
}

void CClientdemoDlg::OnReleasedcaptureSlider4(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	m_iHue = m_hue.GetPos();
	SliderContral();
	*pResult = 0;
}

BOOL CClientdemoDlg::SliderContral()
{
	switch(m_iWndNum) {
	case 1:
		if(nn1 >= 0)
		{
			if(!MP4_ClientSetVideoPara(nn1, 0, m_iBrightness, m_iContrast, m_iSaturation, m_iHue))
			{
				AfxMessageBox("Set Video Parameter Failed!");
			}
		}
		break;
	case 2:
		if(nn2 >= 0)
		{
			if(!MP4_ClientSetVideoPara(nn2, 0, m_iBrightness, m_iContrast, m_iSaturation, m_iHue))
			{
				AfxMessageBox("Set Video Parameter Failed!");
			}
		}
		break;
	case 3:
		if(nn3 >= 0)
		{
			if(!MP4_ClientSetVideoPara(nn3, 0, m_iBrightness, m_iContrast, m_iSaturation, m_iHue))
			{
				AfxMessageBox("Set Video Parameter Failed!");
			}
		}
		break;
	case 4:
		if(nn4 >= 0)
		{
			if(!MP4_ClientSetVideoPara(nn4, 0, m_iBrightness, m_iContrast, m_iSaturation, m_iHue))
			{
				AfxMessageBox("Set Video Parameter Failed!");
			}
		}
		break;
	default:
		break;
	}
	return TRUE;
}

void CClientdemoDlg::OnButtondefault() 
{
	// TODO: Add your control notification handler code here
	m_iBrightness = m_iContrast = m_iSaturation = m_iHue = DEFAULTVAL;
	SliderContral();
	m_brightness.SetPos(m_iBrightness);
	m_contrast.SetPos(m_iContrast);
	m_saturation.SetPos(m_iSaturation);
	m_hue.SetPos(m_iHue);

}

⌨️ 快捷键说明

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