KSJAPI SDK · 回调、预览与录影
预览回调、预览窗口与启停、并行预览模式、帧率统计、视频录影。
本组接口来自 KSJApiCallback.h、KSJApiBase.h、KSJApiRecord.h。
预览流程有严格顺序:先 KSJ_PreviewSetPos 建立预览窗口与位置,再 KSJ_PreviewStart 启动视频流,否则看不到画面。
函数一览
| 函数 | 说明 |
|---|---|
KSJ_PreviewSetCallback |
设置预览回调函数。 |
KSJ_PreviewSetCallbackEx |
设置预览回调函数(增强版,回调参数含 KSJApi 创建的内存 DC,可用 GDI 在其上绘制)。 |
KSJ_PreviewSetPos |
设置视频图像在窗口上的显示位置与大小。 |
KSJ_PreviewGetPos |
获取当前预览图像的显示位置与大小。 |
KSJ_PreviewStart |
启动/停止视频流(true 开启,false 关闭)。 |
KSJ_PreviewStartEx |
用并行模式启动/停止视频流(bParallel = true 用并行,false 用串行)。 |
KSJ_PreviewGetStatus |
获取视频预览状态(停止 / 运行 / 暂停)。 |
KSJ_PreviewGetStatusEx |
获取视频预览与并行状态。 |
KSJ_SetParallelPreviewMode |
设置并行预览模式。 |
KSJ_GetParallelPreviewMode |
获取并行预览模式。 |
KSJ_PreviewGetFrameRateEx |
获取预览时的采集帧率与显示帧率。 |
KSJ_GetPreviewFrameCount |
获取预览累计采集与显示的图像数。 |
KSJ_RecordStart |
预览开启状态下启动/停止视频录影(fRecordRate 为录影帧率)。 |
KSJ_RecordStartEx |
启动/停止录影,并可选是否弹出视频编码器选择窗口。 |
KSJ_RecordStartExEx |
启动/停止录影(用于后续用 KSJ_RecordAddOneFrame 追加帧序列)。 |
KSJ_RecordAddOneFrame |
将一帧追加到录影文件。 |
KSJ_RecordStatusGet |
获取当前录影状态。 |
关键函数详解
KSJ_PreviewSetCallback
int __stdcall KSJ_PreviewSetCallback(int nIndex, KSJ_PREVIEWCALLBACK pfPreviewCallback, void* lpContext);
设置预览回调函数。
返回:成功返回 RET_SUCCESS(1)
说明
- 回调运行在 SDK 线程,勿在回调内做耗时操作或直接操作 UI。
KSJ_PreviewSetPos
int __stdcall KSJ_PreviewSetPos(int nIndex, HWND hWnd, int x, int y, int nWidth, int nHeight);
设置视频图像在窗口上的显示位置与大小。
返回:成功返回 RET_SUCCESS(1)
说明
- 必须在
KSJ_PreviewStart之前调用以创建预览窗口。 - 显示宽高大于预览图像尺寸时会放大,反之缩小。
KSJ_PreviewStart
int __stdcall KSJ_PreviewStart(int nIndex, bool bStart);
启动/停止视频流(true 开启,false 关闭)。
返回:成功返回 RET_SUCCESS(1)
说明
- 须先通过
KSJ_PreviewSetPos创建预览窗口,否则看不到视频流。
KSJ_SetParallelPreviewMode
int __stdcall KSJ_SetParallelPreviewMode(int nIndex, KSJ_PARALLEL_PREVIEWMODE eMode);
设置并行预览模式。
返回:成功返回 RET_SUCCESS(1)
说明
PP_SHOW显示优先(高帧率时回调会丢帧);PP_CALLBACK回调优先(高帧率时显示延迟)。须在开始预览前调用。
KSJ_RecordAddOneFrame
int __stdcall KSJ_RecordAddOneFrame(int nIndex, unsigned char* pFrameData, int nFrameNum, int nWidth, int nHeight, int nBitcount);
将一帧追加到录影文件。
返回:成功返回 RET_SUCCESS(1)
说明
- 宽高与位深须与
KSJ_RecordStartExEx的对应参数一致。
这份文档对您有帮助吗?
发现错误、表述不清或缺少内容?请告诉我们,我们会尽快补充。
您可以通过以下方式反馈: 发送邮件至 service@catchbest.com