亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? netsdkdemodlg.cpp

?? 它是一個可以實時交互的嵌入式軟件系統
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
		{
			LastError();
		}
	}
	//設置數據回調
//	BOOL cbRec = CLIENT_SetRealDataCallBack(nChannelID, RealDataCallBack, (DWORD)this);
	BOOL cbRec = CLIENT_SetRealDataCallBackEx(nChannelID, RealDataCallBackEx, (DWORD)this, 0x0000000f);
	if (!cbRec)
	{
		LastError();	
	}
//	BOOL bRet = CLIENT_DHPTZControl(nID,0, PTZ_UP_CONTROL, 2, 2,0, false);
//	int iii = 0;
	//this->SwitchMultiWnd(SPLIT1);	//單畫面
	
}

//接收播放進度狀態處理
void CNetSDKDemoDlg::ReceivePlayPos(LONG lPlayHandle, DWORD dwTotalSize, DWORD dwDownLoadSize)
{
	//取得窗口號
	int nScreen = GetHandleSplit(lPlayHandle);
	if(nScreen < 0)
	{
		return;
	}
	
	SplitInfoNode siNode;
	memset(&siNode, 0, sizeof(siNode));
	BOOL ret = GetSplitInfo_Main(nScreen, &siNode);
	if (!ret)
	{
		MessageBox("error while getting split info");
	}
	
	//更新播放進度值
	if (siNode.Type == SPLIT_TYPE_NETPLAY)
	{
		SplitNetPlayParam *nParam = (SplitNetPlayParam *)siNode.Param;
		if (nParam)
		{
			nParam->iPlayPos = dwDownLoadSize * 100 / dwTotalSize;
			if (nParam->iPlayPos > 100)
			{
					int xyz = 0;
			}
			if(((int)dwDownLoadSize == -1) || (nParam->iPlayPos >= 100))
			{
				PlayStop(nScreen);
				//m_playWnd[nScreen].ShowWindow(SW_HIDE);
				//m_playWnd[nScreen].ShowWindow(SW_SHOW);
			}
		}
	}
	else if (siNode.Type == SPLIT_TYPE_PBBYTIME)
	{
		SplitPBByTimeParam *pbParam = (SplitPBByTimeParam *)siNode.Param;
		if (pbParam)
		{
			pbParam->npos = dwDownLoadSize * 100 / dwTotalSize;
			if(((int)dwDownLoadSize == -1) || (pbParam->npos >= 100))
			{
				PlayStop(nScreen);
				//m_playWnd[nScreen].ShowWindow(SW_HIDE);
				//m_playWnd[nScreen].ShowWindow(SW_SHOW);
			}
		}
	}
}

//播放進度狀態回調
void CALLBACK PlayCallBack(LONG lPlayHandle, DWORD dwTotalSize, DWORD dwDownLoadSize, DWORD dwUser)
{
	if(dwUser == 0)
	{
		return;
	}
	CNetSDKDemoDlg *dlg = (CNetSDKDemoDlg *)dwUser;
	dlg->ReceivePlayPos(lPlayHandle, dwTotalSize, dwDownLoadSize);

}

//錄像查詢
void CNetSDKDemoDlg::SearchRecord() 
{
	
	m_SeachRecord_dlg.SetDevice((DeviceNode *)GetCurDeviceInfo());
	m_SeachRecord_dlg.SetChannelNo(this->m_curScreen);
	
	if(m_SeachRecord_dlg.DoModal() == IDOK)   //打開回放時
	{
		if (!m_SeachRecord_dlg.m_playfile) 
		{
			return;
		}
		if(!CheckCurSplitAndClose())
		{
			return;
		}

//		LONG nPlayID = CLIENT_PlayBackByRecordFile(dlg.m_playfile->pDevice->LoginID, &dlg.m_playfile->fileinfo, 
//									  GetDlgItem(IDC_SCREEN1 + m_curScreen )->m_hWnd, PlayCallBack, (DWORD)this);
		CWnd *plWnd = m_screenPannel.GetPage(m_curScreen);
		if (!plWnd)
		{
			MessageBox("unexpected error!!!!");
			return;
		}
		LONG lPlayHandle = CLIENT_PlayBackByRecordFileEx(m_SeachRecord_dlg.m_playfile->pDevice->LoginID, &m_SeachRecord_dlg.m_playfile->fileinfo, 
									  plWnd->m_hWnd/*m_playWnd[m_curScreen].m_hWnd*/, PlayCallBack, (DWORD)this, PBDataCallBack, (DWORD)this);
			
		if(!lPlayHandle)
		{
			LastError();
			MessageBox(MSG_DEMODLG_PLAYFAILED);
			return;
		}
		else
		{  //如果其它通道沒有打開音頻,則打開音頻
			if (m_curSoundSplit < 0)
			{
				if (FALSE == CLIENT_OpenSound(lPlayHandle)) 
				{
					LastError();
					MessageBox(MSG_OPENSOUNDFAILED);
					m_advanceBtnPannel.SetCheckSound(0);
				}
				else
				{
					m_advanceBtnPannel.SetCheckSound(1);
					m_curSoundSplit = m_curScreen;
				}
			}
		}
		SplitInfoNode siNode;
		memset(&siNode, 0, sizeof(siNode));
		BOOL ret = GetSplitInfo_Main(m_curScreen, &siNode);
		if (!ret)
		{
			MessageBox("error while getting split info");
		}
		
		siNode.Type = SPLIT_TYPE_NETPLAY;
		siNode.iHandle = lPlayHandle;
		
		SplitNetPlayParam *nParam	= new SplitNetPlayParam;
		nParam->pFileInfo = new FileInfoNode;
		memcpy(nParam->pFileInfo, m_SeachRecord_dlg.m_playfile, sizeof(FileInfoNode));
		nParam->iPlayPos = 0;
		nParam->iStatus = STATUS_PLAY;

		siNode.Param = nParam;
		ret = SetSplitInfo_Main(m_curScreen, &siNode);
		if (!ret)
		{
			MessageBox("error while getting split info");
		}

		m_playctrlPannel.StartPlay();
		UpdateCurScreenInfo();
	}
}

//停止播放當前播放畫面
BOOL CNetSDKDemoDlg::PlayCtrl_Stop()
{

	int nRet = PlayStop(m_curScreen);
	if (nRet < 0)
	{
		return FALSE;
	}
	else
	{
	//	m_playWnd[curScreen].ShowWindow(SW_HIDE);
	//	m_playWnd[curScreen].ShowWindow(SW_NORMAL);
	}
	return TRUE;
}

//快放
BOOL CNetSDKDemoDlg::PlayCtrl_Fast()
{
	SplitInfoNode siNode;
	memset(&siNode, 0, sizeof(siNode));
	BOOL ret = GetSplitInfo_Main(m_curScreen, &siNode);
	if (!ret)
	{
		MessageBox("error while getting split info");
		return FALSE;
	}

	if(siNode.Type == SPLIT_TYPE_NETPLAY)
	{
		SplitNetPlayParam *pParam = (SplitNetPlayParam *)siNode.Param;
		if(pParam->iStatus == STATUS_PAUSE)
		{
			goto e_exit;
		}
		if(pParam->iStatus == STATUS_STEP)
		{
			ret = CLIENT_StepPlayBack(siNode.iHandle, TRUE);
			if (!ret)
			{
				LastError();
				goto e_exit;
			}
			pParam->iStatus = STATUS_STOP;
		}
		if (m_curSoundSplit == m_curScreen)
		{
			if (FALSE == CLIENT_CloseSound())
			{
				LastError();
				MessageBox(MSG_CLOSESOUNDFAILED);
				goto e_exit;
			}
			m_advanceBtnPannel.SetCheckSound(0);
			m_curSoundSplit = -1;
		}
		
		ret = CLIENT_FastPlayBack(siNode.iHandle);
		if(!ret)
		{
			LastError();
			MessageBox(MSG_DEMODLG_PLAYCTRLFAILED);
		}
		pParam->iStatus = STATUS_PLAY;
	}
	else if (siNode.Type == SPLIT_TYPE_PBBYTIME)
	{
		SplitPBByTimeParam *pbParam = (SplitPBByTimeParam *)siNode.Param;
		if(pbParam->iStatus == STATUS_PAUSE)
		{
			goto e_exit;
		}
		if(pbParam->iStatus == STATUS_STEP)
		{
			ret = CLIENT_StepPlayBack(siNode.iHandle, TRUE);
			if (!ret)
			{
				LastError();
			}
			else
			{
				pbParam->iStatus = STATUS_STOP;
			}
		}
		if (m_curSoundSplit == m_curScreen)
		{
			if (FALSE == CLIENT_CloseSound())
			{
				LastError();
				MessageBox(MSG_CLOSESOUNDFAILED);
				goto e_exit;
			}
			m_advanceBtnPannel.SetCheckSound(0);
			m_curSoundSplit = -1;
		}
		ret = CLIENT_FastPlayBack(siNode.iHandle);
		if(!ret)
		{
			LastError();
			MessageBox(MSG_DEMODLG_PLAYCTRLFAILED);
			goto e_exit;
		}
		pbParam->iStatus = STATUS_PLAY;
	}
	else
	{
		MessageBox(MSG_DEMODLG_NOTPLAYING);
		goto e_exit;
	}

	return TRUE;
e_exit:
	return FALSE;
}

//慢放
BOOL CNetSDKDemoDlg::PlayCtrl_Slow() 
{
	SplitInfoNode siNode;
	memset(&siNode, 0, sizeof(siNode));
	BOOL ret = GetSplitInfo_Main(m_curScreen, &siNode);
	if (!ret)
	{
		MessageBox("error while getting split info");
		return FALSE;
	}

	if(siNode.Type == SPLIT_TYPE_NETPLAY)
	{
		SplitNetPlayParam *pParam = (SplitNetPlayParam *)siNode.Param;
		if(pParam->iStatus == STATUS_PAUSE)
		{
			goto e_exit;
		}
		
		if(pParam->iStatus == STATUS_STEP)
		{
			ret = CLIENT_StepPlayBack(siNode.iHandle, TRUE);
			if (!ret)
			{
				LastError();
				goto e_exit;
			}
			pParam->iStatus = STATUS_STOP;
		}

		ret = CLIENT_SlowPlayBack(siNode.iHandle);
		if(!ret)
		{
			LastError();
			MessageBox(MSG_DEMODLG_PLAYCTRLFAILED);
			goto e_exit;
		}
		pParam->iStatus = STATUS_PLAY;	
	}
	else if (siNode.Type == SPLIT_TYPE_PBBYTIME)
	{
		SplitPBByTimeParam *pbParam = (SplitPBByTimeParam *)siNode.Param;
		if(pbParam->iStatus == STATUS_PAUSE)
		{
			goto e_exit;
		}
		
		if(pbParam->iStatus == STATUS_STEP)
		{
			ret = CLIENT_StepPlayBack(siNode.iHandle, TRUE);
			if (!ret)
			{
				LastError();
				goto e_exit;
			}
			pbParam->iStatus = STATUS_STOP;
		}

		ret = CLIENT_SlowPlayBack(siNode.iHandle);
		if(!ret)
		{
			LastError();
			MessageBox(MSG_DEMODLG_PLAYCTRLFAILED);
			goto e_exit;
		}
		pbParam->iStatus = STATUS_PLAY;	
	}
	else
	{
		MessageBox(MSG_DEMODLG_NOTPLAYING);
		goto e_exit;
	}

	return TRUE;
e_exit:
	return FALSE;
}

//單幀播放
BOOL CNetSDKDemoDlg::PlayCtrl_Step() 
{
	SplitInfoNode siNode;
	memset(&siNode, 0, sizeof(siNode));
	BOOL ret = GetSplitInfo_Main(m_curScreen, &siNode);
	if (!ret)
	{
		MessageBox("error while getting split info");
		return FALSE;
	}

	if(siNode.Type == SPLIT_TYPE_NETPLAY)
	{
		SplitNetPlayParam *pParam = (SplitNetPlayParam *)siNode.Param;
		if(pParam->iStatus == STATUS_PAUSE)
		{
			goto e_exit;
		}
		ret = CLIENT_StepPlayBack(siNode.iHandle, FALSE);
		if(!ret)
		{
			LastError();
			MessageBox(MSG_DEMODLG_PLAYCTRLFAILED);
			goto e_exit;
		}
		pParam->iStatus = STATUS_STEP;
	}
	else if (siNode.Type == SPLIT_TYPE_PBBYTIME) 
	{
		SplitPBByTimeParam *pbParam = (SplitPBByTimeParam *)siNode.Param;
		if(pbParam->iStatus == STATUS_PAUSE)
		{
			MessageBox("paused");
			goto e_exit;
		}
		ret = CLIENT_StepPlayBack(siNode.iHandle, FALSE);
		if(!ret)
		{
			LastError();
			MessageBox(MSG_DEMODLG_PLAYCTRLFAILED);
			goto e_exit;
		}
		pbParam->iStatus = STATUS_STEP;
	}
	else
	{
		MessageBox(MSG_DEMODLG_NOTPLAYING);
		goto e_exit;
	}

	return TRUE;
e_exit:
	return FALSE;
}

BOOL CNetSDKDemoDlg::PlayCtrl_Frame(int frame)
{
//	KillTimer(TIMER_KBPS);
	if(!UpdateData(true))
	{
		return FALSE;
	}

	if ((frame <= 0) || (frame > 120))
	{
		MessageBox(MSG_SCHRECORD_ILLEGALFRAME);
		return FALSE;
	}

	SplitInfoNode siNode;
	memset(&siNode, 0, sizeof(siNode));
	BOOL ret = GetSplitInfo_Main(m_curScreen, &siNode);
	if (!ret)
	{
		MessageBox("error while getting split info");
		return FALSE;
	}
	
	ret = FALSE;
	if(siNode.Type == SPLIT_TYPE_NETPLAY)
	{
		SplitNetPlayParam *pParam = (SplitNetPlayParam *)siNode.Param;
		if(pParam->iStatus == STATUS_PAUSE)
		{
			goto out;
		}
		if(pParam->iStatus == STATUS_STEP)
		{
			ret = CLIENT_StepPlayBack(siNode.iHandle, TRUE);
			if (!ret)
			{
				LastError();
				goto out;
			}
			pParam->iStatus = STATUS_STOP;
		}
		if (m_curSoundSplit == m_curScreen)
		{
			if (FALSE == CLIENT_CloseSound())
			{
				LastError();
				MessageBox(MSG_CLOSESOUNDFAILED);
				goto out;
			}
			m_advanceBtnPannel.SetCheckSound(0);
			m_curSoundSplit = -1;
		}
		ret = CLIENT_SetFramePlayBack(siNode.iHandle, frame);
		if(!ret)
		{
			LastError();
			MessageBox(MSG_DEMODLG_PLAYCTRLFAILED);
			goto out;
		}
	}
	else if(siNode.Type == SPLIT_TYPE_PBBYTIME)
	{
		SplitPBByTimeParam *pbParam = (SplitPBByTimeParam *)siNode.Param;
		if(pbParam->iStatus == STATUS_PAUSE)
		{
			goto out;
		}
		if(pbParam->iStatus == STATUS_STEP)
		{
			ret = CLIENT_StepPlayBack(siNode.iHandle, TRUE);
			if (!ret)
			{
				LastError();
				goto out;
			}
			pbParam->iStatus = STATUS_STOP;
		}
		if (m_curSoundSplit == m_curScreen)
		{
			if (FALSE == CLIENT_CloseSound())
			{
				LastError();
				MessageBox(MSG_CLOSESOUNDFAILED);
				goto out;
			}
			m_advanceBtnPannel.SetCheckSound(0);
			m_curSoundSplit = -1;
		}
		ret = CLIENT_SetFramePlayBack(siNode.iHandle, frame);
		if(!ret)
		{
			LastError();
			MessageBox(MSG_DEMODLG_PLAYCTRLFAILED);
			goto out;
		}
	}
	else
	{	
		MessageBox(MSG_DEMODLG_NOTPLAYING);
		goto out;
	}
out:
//	SetTimer(TIMER_KBPS, 1111,NULL);
	return ret;
}


//播放/暫停切換
BOOL CNetSDKDemoDlg::PlayCtrl_Play()
{
	BOOL isPause = false;

	SplitInfoNode siNode;
	memset(&siNode, 0, sizeof(siNode));
	BOOL ret = GetSplitInfo_Main(m_curScreen, &siNode);
	if (!ret)
	{
		MessageBox("error while getting split info");
		return FALSE;
	}

	ret = FALSE; 
	if(siNode.Type == SPLIT_TYPE_NETPLAY)
	{
		SplitNetPlayParam *pParam = (SplitNetPlayParam *)siNode.Param;
		if(pParam->iStatus == STATUS_STEP)
		{
			ret = CLIENT_StepPlayBack(siNode.iHandle, TRUE);
			if (!ret)
			{
				LastError();
				goto out;
			}
			pParam->iStatus = STATUS_STOP;
		}

		if(pParam->iStatus != STATUS_PAUSE)
		{
			isPause = true;	
		}

		ret = CLIENT_PausePlayBack(siNode.iHandle, isPause);
		if(!ret)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品123区| 精品国产污网站| 精品国产一区二区三区av性色| 久久久久久久国产精品影院| 一区二区三区欧美| 国产麻豆精品在线观看| 欧美视频完全免费看| 久久精品视频在线免费观看 | 成人黄色av电影| 91麻豆精品国产自产在线观看一区 | av影院午夜一区| 欧美精品一区二区三区高清aⅴ| 亚洲一区二区三区视频在线播放 | 欧洲激情一区二区| 国产日韩欧美高清| 精品一区二区日韩| 91精品视频网| 亚洲综合视频在线观看| 91丨porny丨蝌蚪视频| 26uuu精品一区二区| 秋霞影院一区二区| 制服丝袜成人动漫| 三级久久三级久久| 欧美视频在线观看一区| 亚洲精品高清视频在线观看| 成人av在线一区二区| 亚洲国产精品精华液2区45| 国产一区二区福利视频| 久久尤物电影视频在线观看| 久久精品av麻豆的观看方式| 欧美男生操女生| 午夜精品久久一牛影视| 欧美日韩国产一二三| 亚洲 欧美综合在线网络| 欧美影视一区在线| 亚洲一区二区三区在线看| 色老综合老女人久久久| 亚洲乱码国产乱码精品精98午夜| 97久久超碰国产精品| 国产精品高清亚洲| 91美女蜜桃在线| 亚洲国产精品一区二区www| 色婷婷国产精品综合在线观看| 一区二区三区在线视频播放| 在线精品亚洲一区二区不卡| 亚洲二区在线视频| 欧美优质美女网站| 免费在线观看日韩欧美| 久久先锋影音av| 成人美女视频在线看| 亚洲视频在线观看三级| 欧美日精品一区视频| 日本美女一区二区三区视频| 26uuu亚洲综合色| av亚洲产国偷v产偷v自拍| 亚洲综合av网| 日韩你懂的在线观看| 国产成人精品亚洲777人妖 | 91在线观看美女| 亚洲在线观看免费| 日韩一级二级三级精品视频| 国产福利一区二区| 一区二区三区久久久| 欧美一区二区三级| 盗摄精品av一区二区三区| 亚洲国产人成综合网站| 精品免费一区二区三区| 色综合天天综合网天天看片| 日韩精品久久久久久| 国产精品伦理在线| 欧美丰满美乳xxx高潮www| 国产成人在线网站| 天堂久久一区二区三区| 国产亚洲一区二区在线观看| 91黄色小视频| 国产原创一区二区| 亚洲成人第一页| 国产午夜精品一区二区 | 日韩欧美另类在线| 色综合久久中文字幕| 美女在线视频一区| 亚洲一区二区视频在线观看| 国产亚洲精品aa| 日韩亚洲欧美在线| 91成人看片片| av电影一区二区| 激情综合五月天| 天堂一区二区在线| 亚洲一区在线观看视频| 中文在线一区二区| 亚洲精品一线二线三线| 欧美日本国产视频| 日本久久电影网| 成人综合在线观看| 国产乱码字幕精品高清av | 国产精品99久| 美女视频一区二区三区| 亚洲成人资源在线| 亚洲综合在线观看视频| 18欧美乱大交hd1984| 久久久不卡网国产精品一区| 日韩一二三区视频| 日韩一级大片在线| 日韩精品一区二区三区在线播放 | 无码av免费一区二区三区试看| 亚洲色图制服丝袜| 中文字幕中文乱码欧美一区二区| 精品久久久久香蕉网| 欧美一区二区三区四区视频| 欧美日韩国产另类不卡| 精品视频一区三区九区| 在线视频欧美精品| 欧美艳星brazzers| 在线观看免费一区| 欧美色精品在线视频| 欧美这里有精品| 欧美日韩国产三级| 91精品免费在线| 日韩欧美在线观看一区二区三区| 7777精品伊人久久久大香线蕉最新版| 欧美天堂亚洲电影院在线播放| 欧美专区日韩专区| 欧美一卡二卡三卡| 精品久久人人做人人爽| 久久蜜桃av一区二区天堂| 中文字幕av一区二区三区免费看 | 久久精品视频一区二区| 精品少妇一区二区三区免费观看 | 日韩一区二区电影网| 精品国精品自拍自在线| 久久久久国产免费免费| 亚洲国产精品高清| 一区二区三区在线免费| 日韩精品乱码av一区二区| 美日韩一区二区| 波多野结衣中文字幕一区| 色婷婷综合久久久中文字幕| 欧美色图12p| 精品第一国产综合精品aⅴ| 欧美国产激情二区三区| 亚洲影视在线播放| 久久国产生活片100| 91视频免费播放| 欧美一区二区三区喷汁尤物| 久久新电视剧免费观看| 亚洲视频网在线直播| 奇米精品一区二区三区在线观看一 | 一区二区理论电影在线观看| 日韩精品亚洲一区二区三区免费| 久久丁香综合五月国产三级网站| 成人免费视频caoporn| 欧美日韩欧美一区二区| 久久影院午夜论| 亚洲一区二区欧美| 国产精品亚洲视频| 777午夜精品免费视频| 日本一区二区综合亚洲| 亚洲h动漫在线| 成人亚洲一区二区一| 91精品国产黑色紧身裤美女| 日本一区二区久久| 日韩电影网1区2区| 99久久精品免费看| 日韩欧美国产一区二区在线播放| 中文字幕亚洲在| 国产综合成人久久大片91| 色婷婷国产精品久久包臀| 久久九九99视频| 日本午夜精品一区二区三区电影| av一二三不卡影片| 久久久久久久久99精品| 天天色天天爱天天射综合| 91香蕉视频黄| 国产欧美视频在线观看| 免费视频一区二区| 欧美三级电影精品| 亚洲精品一二三四区| 国产成a人亚洲| 欧美xfplay| 日本欧美一区二区| 在线电影一区二区三区| 日韩一区二区三区免费观看| 精品国内二区三区| 午夜精品在线看| 色狠狠桃花综合| 1区2区3区欧美| eeuss鲁片一区二区三区在线看| 欧美大尺度电影在线| 免费在线观看一区| 欧美一区二区三区色| 日韩二区三区在线观看| 欧美三级韩国三级日本一级| 亚洲香蕉伊在人在线观| 色偷偷久久一区二区三区| 中文字幕一区在线观看视频| 成人动漫av在线| 精品综合久久久久久8888| 欧美精品777| 视频一区视频二区中文| 欧美高清视频在线高清观看mv色露露十八|