请问一下,这个SDK提供的回调函数怎么用?
笨猪博士 2011-03-03 05:27:11
34、BOOL MP4Play_SetDisplayCallBack(LONG nPort,void (CALLBACK* DisplayCBFun)(long
nPort,char * pBuf,long nSize,long nWidth,long nHeight,long nStamp,long nType,long
nReserved))
说明: 设置抓图回调函数;注意要尽快返回,如果要停止回调,可以把回调函数指针
DisplayCBFun设为 NULL。一旦设置回调函数,则一直有效,直到程序退出。该函数可以在
任何时候调用;
参数: nPort 通道号;
DisplayCBFun抓图回调函数,可以为NULL;
回调函数参数说明:
nPort通道号
pBuf返回图像数据(带边,Y 16像素,UV各 8像素)
nSize返回图像数据大小
nWidth画面宽,单位像素
nHeigh画面高
nStamp时标信息,单位毫秒
nType数据类型, T_RGB32,T_UYVY,详见宏定义说明
nReceaved保留
返回: 成功为TRUE,失败为 FALSE;
我是这样用的:
void CM4playDlg::OnBTNonebyeon()
{
// TODO: Add your control notification handler code here
...........
MP4Play_SetDisplayCallBack(0,DisplayCBFun);
...................
}
void CALLBACK DisplayCBFun(long nPort,char* pBuf,long nSize,long nWidth,long nHeight,long nStamp,long nType,long nReserved)
{
MP4Play_SetDisplayCallBack(0,NULL);
nCallnumber++;
nTp=nType;
nSZ=nSize;
nW=nWidth;
nH=nHeight;
}
不知道对不对?请各位指点一下。这样用的话,函数的几个参数(nSize,nWidth....)是不是不是用来设置的?只能用来读取?