VFW如何使用第二个摄像头(200分)
目前需要使用到2个摄像头,不需要同时工作,但是要求不要手工选(不要WM_CAP_DLG_VIDEOSOURCE手选)。
比如这样:一个form,1个panel,2个button,点button1,panel1出现第一个摄像头的图像,关掉(好吧,要用button3关掉);点button2,panel1出现第二个摄像头的图像。
如果只用第一个摄像头:
SendMessage(hWndC, WM_CAP_SET_CALLBACK_VIDEOSTREAM,0,0);
SendMessage(hWndC, WM_CAP_SET_CALLBACK_ERROR,0,0);
SendMessage(hWndC, WM_CAP_SET_CALLBACK_STATUSA,0,0);
SendMessage(hWndC, WM_CAP_DRIVER_CONNECT,0,0);
SendMessage(hWndC, WM_CAP_SET_SCALE,1,0);
SendMessage(hWndC, WM_CAP_SET_PREVIEWRATE,66,0);
SendMessage(hWndC, WM_CAP_SET_OVERLAY,1,0);
SendMessage(hWndC, WM_CAP_SET_PREVIEW,1,0);
很正常。
但是第二个摄像头,无论我
SendMessage(hWndC, WM_CAP_DRIVER_CONNECT,id,0) 里面id大于0就返回黑屏,应该是VFW原因,请高手给个解决方法。
如果设备id需要查找,麻烦告知查找方法,特定硬件完全可以写固定值。
我对DShow一窍不通,如果DShow能解决,麻烦给个完整的例程(包括用到的控件),
无限感激,邮箱:jenhon@tom.com
(delphi版本哦,谢谢!)