海康PlayM4 播放视频流

1.playM4 下载地址

2.里面有文档说明,可以参考细节

3.实际应用实例


unsigned int CALLBACK thread(LPVOID lpVoid) {
	auto dlg = (CmfcDlg*)lpVoid;
	auto pic = dlg->GetDlgItem(IDC_STATIC);
	PlayFile(pic->GetSafeHwnd());
	return 1;
}

_beginthreadex(NULL, 0, thread, (LPVOID)this, 0, NULL); //开启线程

//模拟流信息 播放视频
void PlayFile(HWND hwnd) {
	CStdioFile file;
	file.Open("d:\\tmp\\test_rec.hikvision",
		CFile::modeNoTruncate |
		CFile::modeReadWrite |
		CFile::typeBinary); 

	const int rLen = 5128;
	BYTE *resendBuf = new BYTE[rLen];
	memset(resendBuf, 0, rLen); 
	int start = 1;
	auto ret = PlayM4_GetPort(&nPort);
	auto err = PlayM4_GetLastError(nPort);
	ret = PlayM4_SetStreamOpenMode(nPort, STREAME_REALTIME);  //设置模式
	err = PlayM4_GetLastError(nPort);
	while (true)
	{
		auto tLen = file.Read(resendBuf, rLen);
		if (start == 1) {  //初始化设置
			PlayM4_OpenStream(nPort, resendBuf, tLen, 2 * 1024 * 1024);
			auto ret = PlayM4_Play(nPort, hwnd);
			auto err = PlayM4_GetLastError(nPort);
		}
		else {
			PlayM4_InputData(nPort, resendBuf, tLen); 
		}
		if (tLen != rLen)
		{
			break;
		}
		if (start != 0)
		{
			start = 0;
		}
	}
	delete[] resendBuf;
	resendBuf = NULL; 
	file.Close();
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值