📄 clientdemodlg.cpp
字号:
{
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 + -