在视频会议的开发工作中,可能会遇到动态调整摄像头捕捉分辨率的问题,
利用winvfw库的时候,如果将相关的代码与某个按钮相联系,也就是由按钮激发相关的
动态调整代码,可以实现此目的。伪码如下:
{
CaptureAbort();
SetFormat(width,height);
reCapture();
}
但是如果是在程序的某块代码中根据环境的变化,自动激发这块代码,基本不会成功。
原因可能在于vfw库没有接受此代码的调整要求。针对此种情况,我们可以采用激活新线程的
的方法,在此线程中对不同的捕捉状态进行判定,然后进行相关的操作调整,便可以成功的
实现我们的目的,伪码如下:
SetFormatProc()
{
CaptureStop();
while(isCapturing())
{
Sleep(100);
}
SetFormat(width,height);
while(!isCapturing())
{
CaptureStop();
reCapture();
}
return 0;
}