#ifndef __DATA_ACQ_2011__ #define __DATA_ACQ_2011__ #include #include "DXMediaCap.h" /* 描述: 获取指定区域的原始视频帧数据到缓冲区 参数: device - [in] 设备句柄 buffer - [in] 指向缓冲区。NULL - 后续参数返回相应的数据,比如,所需缓冲区的大小、颜色空间、视频尺寸 bufferLen - [in] 指向的缓冲区的大小(单位:字节) gotBufferLen - [out] 实际获取的数据的大小(单位:字节) colorSpace - [out] 获取的原始数据的色彩空间类型 width - [out] 获取的原始数据的像素宽度 height - [out] 获取的原始数据的像素高度 bytesWidth - [out] 获取的原始数据的字节宽度 rect - [in] 指定获取数据的区域 返回值: 0 - 成功;失败则返回错误代码 // */ unsigned __stdcall DXGetFrameBuffer(device_handle device, unsigned char* buffer, unsigned bufferLen, unsigned* gotBufferLen = NULL, unsigned* colorSpace = NULL, unsigned* width = NULL, unsigned* height = NULL, unsigned* bytesWidth = NULL, PRECT rect = NULL); /* 描述: 保存原始视频帧数据到 BMP文件 参数: szFileName - [in] BMP文件路径 buffer - [in] 指向缓冲区 bufferLen - [in] 指向的缓冲区的大小(单位:字节) colorSpace - [in] 获取的原始数据的色彩空间类型 width - [in] 获取的原始数据的像素宽度 height - [in] 获取的原始数据的像素高度 bytesWidth - [in] 获取的原始数据的字节宽度 返回值: 0 - 成功;失败则返回错误代码 // */ unsigned __stdcall DXSaveBMPFile(TCHAR* szFileName, unsigned char* buffer, unsigned bufferLen, unsigned colorSpace, unsigned width, unsigned height, unsigned bytesWidth); /* 描述: 保存原始视频帧数据到 JPG文件 参数: szFileName - [in] JPG文件路径 buffer - [in] 指向缓冲区 bufferLen - [in] 指向的缓冲区的大小(单位:字节) colorSpace - [in] 获取的原始数据的色彩空间类型 width - [in] 获取的原始数据的像素宽度 height - [in] 获取的原始数据的像素高度 bytesWidth - [in] 获取的原始数据的字节宽度 quality - [in] JPG文件的画面质量 返回值: 0 - 成功;失败则返回错误代码 // */ unsigned __stdcall DXSaveJPGFile(TCHAR* szFileName, unsigned char* buffer, unsigned bufferLen, unsigned colorSpace, unsigned width, unsigned height, unsigned bytesWidth, unsigned quality); /* 描述: 直接抓取原始视频帧数据到 BMP文件 参数: device - [in] 设备句柄 szFileName - [in] BMP文件路径 rect - [in] 指定获取数据的区域 返回值: 0 - 成功;失败则返回错误代码 // */ unsigned __stdcall DXSnapToBMPFile(device_handle device, TCHAR* szFileName, PRECT rect = NULL); /* 描述: 直接抓取原始视频帧数据到 BMP文件 参数: device - [in] 设备句柄 szFileName - [in] BMP文件路径 buffer - [in] 指向缓冲区 bufferLen - [in] 指向的缓冲区的大小(单位:字节) colorSpace - [in] 获取的原始数据的色彩空间类型 width - [in] 获取的原始数据的像素宽度 height - [in] 获取的原始数据的像素高度 bytesWidth - [in] 获取的原始数据的字节宽度 rect - [in] 指定获取数据的区域 返回值: 0 - 成功;失败则返回错误代码 // */ unsigned __stdcall DXSnapToJPGFile(device_handle device, TCHAR* szFileName, unsigned quality, PRECT rect = NULL); /* 描述: 原始音频数据回调的函数原型 参数: buffer - [in] 缓冲区指针 bufferLen - [in] 指向的缓冲区的大小(单位:字节) wfx - [in] 音频数据格式 context - [in] 回调函数的上下文 返回值: 0 - 成功;失败则返回错误代码 // */ typedef unsigned (__stdcall *fnRawAudioCallback)(unsigned char* buffer, unsigned bufferLen, WAVEFORMATEX* wfx, void* context); /* 描述: 设置原始音频数据回调的函数 参数: device - [in] 设备句柄 fn - [in] 回调函数指针,NULL - 停止回调 context - [in] 回调函数的上下文 返回值: 0 - 成功;失败则返回错误代码 // */ unsigned __stdcall DXSetRawAudioCallback(device_handle device, fnRawAudioCallback fn, void* context); /* 描述: 由图片缓冲创建预览对象 参数: imgbuffer - [in] 图片缓冲区 buffersize - [in] 图片缓冲区的大小(单位:字节) colorspace - [in] 图片缓冲的数据的色彩空间 width - [in] 图片的宽度(单位:像素) height - [in] 图片的高度(单位:像素) err - [out] 返回错误代码 返回值: 成功则返回图像句柄,否则返回 NULL。可通过 err 获得错误代码 // */ image_handle __stdcall DXCreateBufferImg(unsigned char* imgbuffer, unsigned buffersize, unsigned colorspace, unsigned width, unsigned height, unsigned* err); /* 描述: 由图片文件创建预览对象 参数: szImgFile - [in] 图片文件全路径 err - [out] 返回错误代码 返回值: 成功则返回图像句柄,否则返回 NULL。可通过 err 获得错误代码 // */ image_handle __stdcall DXCreateFileImg(TCHAR* szImgFile, unsigned* err); /* 描述: 由更新预览对象到指定的窗体的相应区域 参数: img - [in] 预览对象 hPrevWnd - [in] 预览的窗体 rect - [in] 预览的区域 返回值: 0 - 成功;失败则返回错误代码 // */ unsigned __stdcall DXUpdateImg(image_handle img, HWND hPrevWnd, RECT* rect); /* 描述: 删除预览对象 参数: img - [in] 预览对象 返回值: 无 // */ void __stdcall DXDestroyImg(image_handle img); /* 描述: 翻转视频 参数: device - [in] 设备句柄 flip - [in] TRUE - 启用翻转,FALSE - 禁用翻转 返回值: 0 - 成功;失败则返回错误代码 // */ unsigned __stdcall DXFlipVideo(device_handle device, BOOL flip); /* 描述: 镜像视频 参数: device - [in] 设备句柄 mirror - [in] TRUE - 启用镜像,FALSE - 禁用镜像 返回值: 0 - 成功;失败则返回错误代码 // */ unsigned __stdcall DXMirrorVideo(device_handle device, BOOL mirror); #endif // __DATA_ACQ_2011__