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

📄 systemsetup.cpp

📁 DVR-MPEG4编码播放器
💻 CPP
字号:
// SystemSetup.cpp : implementation file
//

#include "stdafx.h"
#include "Mp4Player.h"
#include "SystemSetup.h"
#include "Decode.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSystemSetup dialog


CSystemSetup::CSystemSetup(CWnd* pParent /*=NULL*/)
	: CDialog(CSystemSetup::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSystemSetup)
	m_Size =0;
	m_ImageQuality = 2;
	m_FrameRate =0;
	m_VideoMode = 1;
	//}}AFX_DATA_INIT
}


void CSystemSetup::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSystemSetup)
	DDX_Radio(pDX, IDC_D1, m_Size);
	DDX_Radio(pDX, IDC_IMAGEQUALITY, m_ImageQuality);
	DDX_Radio(pDX, IDC_FRAMERATE, m_FrameRate);
	DDX_Radio(pDX, IDC_VIDEOMODE, m_VideoMode);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSystemSetup, CDialog)
	//{{AFX_MSG_MAP(CSystemSetup)
	ON_BN_CLICKED(IDC_UPDATE, OnUpdate)
	ON_BN_CLICKED(IDC_SETUP_SetClock, OnSETUPSetClock)
	ON_BN_CLICKED(IDC_UPDATENET, OnUpdatenet)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSystemSetup message handlers

#define  Image_Standard    0
#define  Image_Better      1
#define  Image_Best        2

#define  Frame_Rate_10     8
#define  Frame_Rate_15     12
#define  Frame_Rate_30     25
#define  Frame_Rate_5      5

#define  Ntsc              1
#define  Pal               0

void CSystemSetup::OnUpdate() 
{
	// TODO: Add your control notification handler code here
	CMp4PlayerApp *play = (CMp4PlayerApp *)::AfxGetApp();
	
	VRTSETUP1 DVR_Setup1;
	
	memset(&DVR_Setup1,0,sizeof(VRTSETUP1));
    UpdateData(true);

	if(m_Size)
	{
		DVR_Setup1.DayLightSaving=1;
	}
	else
		DVR_Setup1.DayLightSaving=0;

	if(m_FrameRate==0)
	{
		DVR_Setup1.FrameRate=Frame_Rate_30;
	}
	else
		if(m_FrameRate==1)
		{
			DVR_Setup1.FrameRate=Frame_Rate_10;
		}
		else
			if(m_FrameRate==2)
          	{
				DVR_Setup1.FrameRate=Frame_Rate_15;
			}
			else
			{
				DVR_Setup1.FrameRate=Frame_Rate_5;
			}

	if(m_ImageQuality==0)
	{
		DVR_Setup1.ImageQuality=Image_Standard;
	}
	else
		if(m_ImageQuality==1)
		{
			DVR_Setup1.ImageQuality=Image_Better;
		}
		else
        if(m_ImageQuality==2)
		{
			DVR_Setup1.ImageQuality=Image_Best;
		}
		
	if(m_VideoMode)
	{
		DVR_Setup1.VideoMode=Pal;
	}
	else
		DVR_Setup1.VideoMode=Ntsc;
	
	char cmd[1];
	char ip[64];
	int  port=0;
	play->GetConnectIPAddress(ip,&port); 
//	InitVRTLink("192.168.0.20",2003);
	InitVRTLink(ip,port);
	cmd[0]=VRTSetup1;
	SendVRTData(cmd,1);
	Sleep(2);
	SendVRTData((char *)&DVR_Setup1,sizeof(VRTSETUP1));
	CloseVRTLink();

    if(m_playsize!=m_Size)
	{
		RECT rc;
		HWND hWnd =::GetDlgItem(::AfxGetMainWnd()->m_hWnd,IDC_WIN);
		::GetClientRect(hWnd,&rc); 
		StopPlay();
		InitPlay();
		IfDeInterlace(TRUE);
		SetUDP(ip,0);
		StartPlay(NULL,IFNETPS, hWnd,rc);
		
	}
	else
	{
	
	    ResetPlay();
		PauseOrPlay();

		m_playsize=m_Size;
	}

	
}

void CSystemSetup::OnSETUPSetClock() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	_DATE DVR_Time;
	
	CString m_Houre;
	CString m_Min;
	CString m_Sec;
    CString m_Day;
	CString m_Month;
	CString m_Year;

    UpdateData(true);
	GetDlgItemText(IDC_TIME_HH,m_Houre);
	GetDlgItemText(IDC_TIME_MIN,m_Min);
	GetDlgItemText(IDC_TIME_SS,m_Sec);
	
	GetDlgItemText(IDC_DATE_DD,m_Day);
	GetDlgItemText(IDC_DATE_MM,m_Month);
	GetDlgItemText(IDC_DATE_YYYY,m_Year);
    
	DVR_Time.m_hour=atoi((const char*)m_Houre);
    DVR_Time.m_min=atoi((const char*)m_Min);
	DVR_Time.m_sec=atoi((const char*)m_Sec);

	DVR_Time.m_day=atoi((const char*)m_Day);
	DVR_Time.m_month=atoi((const char*)m_Month);
	DVR_Time.m_year=atoi((const char*)m_Year);
   
	char ip[64];
	int  port=0;
	CMp4PlayerApp *play = (CMp4PlayerApp *)::AfxGetApp();
	play->GetConnectIPAddress(ip,&port); 
	
	char cmd[1];
	InitVRTLink(ip,port);
	//InitVRTLink("192.168.0.20",2003);
	cmd[0]=VRTSetSystemTime;
	SendVRTData(cmd,1);
	Sleep(1);
	SendVRTData((char *)&DVR_Time,sizeof(_DATE));
	CloseVRTLink();
}

void CSystemSetup::OnUpdatenet() 
{
	// TODO: Add your control notification handler code here
	CString ipaddr;
	CString gateway;
	CString submask;
    VRTNET DVR_Net_State;
    GetDlgItemText(IDC_DVR_IPADDR,ipaddr);
	GetDlgItemText(IDC_DVR_GateWay,gateway);
	GetDlgItemText(IDC_DVR_SUBMASK,submask);
   
	strcpy(DVR_Net_State.IpAddr,ipaddr);
	strcpy(DVR_Net_State.GateWay,gateway);
	strcpy(DVR_Net_State.SMask,submask);
   
	char ip[64];
	int  port=0;
	CMp4PlayerApp *play = (CMp4PlayerApp *)::AfxGetApp();
	play->GetConnectIPAddress(ip,&port); 
		
	char cmd[1];
	InitVRTLink(ip,port);
	//InitVRTLink("192.168.0.20",2003);
	cmd[0]=VRTSetIp;
	SendVRTData(cmd,1);
	Sleep(1);
	SendVRTData((char *)&DVR_Net_State,sizeof(VRTNET));
	CloseVRTLink();
}

BOOL CSystemSetup::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	VRTNET DVR_Net_State;
    
	char ip[64];
	int  port=0;
	CMp4PlayerApp *play = (CMp4PlayerApp *)::AfxGetApp();
	play->GetConnectIPAddress(ip,&port); 
	
	char cmd[1];
	InitVRTLink(ip,port);
	cmd[0]=VRTGetIp;
	SendVRTData(cmd,1);
	RecvVRTData((char *)&DVR_Net_State,sizeof(VRTNET));
	CloseVRTLink();

    SetDlgItemText(IDC_DVR_IPADDR,DVR_Net_State.IpAddr);
	SetDlgItemText(IDC_DVR_SUBMASK,DVR_Net_State.SMask);
	SetDlgItemText(IDC_DVR_GateWay,DVR_Net_State.GateWay);
	
		//get dvr system time
	_DATE DVR_Time;
	char buffer[20];
	char daybuf[20];
	char minbuf[20];

	memset((_DATE*)&DVR_Time,0,sizeof(_DATE));
    
	InitVRTLink(ip,port);
	cmd[0]=VRTGetSystemTime;
	SendVRTData(cmd,1);
	RecvVRTData((char *)&DVR_Time,sizeof(_DATE));
	CloseVRTLink();
  
	sprintf(buffer,"%02d",DVR_Time.m_day);
    SetDlgItemText(IDC_DATE_DD,buffer);
	strcpy(daybuf,buffer);
    
	sprintf(buffer,"%02d",DVR_Time.m_month);
    SetDlgItemText(IDC_DATE_MM,buffer);
    strcat(daybuf,"/");
	strcat(daybuf,buffer);
    
	sprintf(buffer,"%02d",DVR_Time.m_year);
    SetDlgItemText(IDC_DATE_YYYY,buffer);
    strcat(daybuf,"/");
	strcat(daybuf,buffer);
    
    //SetDlgItemText(IDC_DVR_Date,daybuf);

    
    sprintf(buffer,"%02d",DVR_Time.m_hour);
	SetDlgItemText(IDC_TIME_HH,buffer);
    strcpy(minbuf,buffer);
    
	sprintf(buffer,"%02d",DVR_Time.m_min);
    SetDlgItemText(IDC_TIME_MIN,buffer);
	strcat(minbuf,":");
	strcat(minbuf,buffer);
    sprintf(buffer,"%02d",DVR_Time.m_sec);
    SetDlgItemText(IDC_TIME_SS,buffer);
    
    strcat(minbuf,":");
	strcat(minbuf,buffer);
   // SetDlgItemText(IDC_DVR_Time,minbuf);

	SetSetup1();	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CSystemSetup::SetSetup1()
{
	VRTSETUP1 DVR_Setup1;
	int DayLightSaving_t;
	int FrameRate_t;
	int ImageQuality_t;
	int VideoMode_t;

	char ip[64];
	int  port=0;
	CMp4PlayerApp *play = (CMp4PlayerApp *)::AfxGetApp();
	play->GetConnectIPAddress(ip,&port); 
		
	char cmd[1];
	InitVRTLink(ip,port);
	cmd[0]=VRTGetSetup1;
	SendVRTData(cmd,1);
	Sleep(1);
	RecvVRTData((char *)&DVR_Setup1,sizeof(VRTSETUP1));
	CloseVRTLink();
	
	DayLightSaving_t=DVR_Setup1.DayLightSaving;
	m_playsize=DayLightSaving_t;
	FrameRate_t=DVR_Setup1.FrameRate;
	ImageQuality_t=DVR_Setup1.ImageQuality;
	VideoMode_t=DVR_Setup1.VideoMode;
	
	if(DayLightSaving_t)
	{
		m_Size=1;
	}
	else
		m_Size=0;
	
	
	switch(FrameRate_t){
	case 8:
		m_FrameRate=1;
		break;
	case 12:
		m_FrameRate=2;
		break;
	case 25:
		m_FrameRate=0;
		break;
	case 5:
		m_FrameRate=3;
		break;
	default:
		m_FrameRate=0;
	}
	
	switch(ImageQuality_t)
	{
	case 0:
		m_ImageQuality=0;
		break;
	case 1:
		m_ImageQuality=1;
		break;
	case 2:
		m_ImageQuality=2;
		break;

	default:
		m_ImageQuality=2;
	}

	if(VideoMode_t)
	{
		m_VideoMode=0;
	}
	else
		m_VideoMode=1;

	UpdateData(false);
}

⌨️ 快捷键说明

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