PB9+win7系统,自己软件中外接摄像头不显示图像!

博是 2018-06-11 06:30:43
PB9+win7系统,自己软件中外接摄像头不显示图像,。
如题,在我们自己软件中使用外接摄像头不显示图像,摄像头在计算机中射频设备打开正常!。
使用笔记本内置摄像头,先会提示让选择摄像头(抓取源),选择后重新开启摄像头,如果不再弹出选择抓取源界面,此时摄像头就可以正常显示图像,拍照也正常。
以为是我们外置摄像头问题,今天特意去市场上买摄像头,换了好多摄像头,用我们软件测试都是不显示图像,但是拍照正常,最后找到一款能正常显示,就买了,回来后到我们电脑上,软件中还是无法显示图像,拍照也不行,计算机中视频设备都打开正常。卖场测试时他们的系统也是win7的系统,没有看是多少位的,我们用的也是win7 64位的。
到底是什么原因哪?哪位大侠指点指点,在这里多谢了!!!
lhand=capCreateCaptureWindowA(lpszName,262144+12582912+1073741824 + 268435456 ,-5,-30,320,240,l1,0)
...全文
984 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
博是 2018-06-27
  • 打赏
  • 举报
回复
已经可以了,换了不同的摄像头,调整图片格式就可以了!
博是 2018-06-12
  • 打赏
  • 举报
回复
应该是执行了你说的函数吧,send(lhand, WM_CAP_DRIVER_CONNECT, 0, 0)
博是 2018-06-12
  • 打赏
  • 举报
回复
感谢你的回复: 下面是我的打开摄像头的代码(同样的程序,笔记本内置的摄像头就可以显示图像并拍照,但是外接的摄像头无法显示图像)。 //代码如下 l1=handle(p_2) lpszName='摄像头界面...' //打开正确返回大于0的整数 if lhand=0 then parent.width=4032 //打开 lhand=capCreateCaptureWindowA(lpszName,262144+12582912+1073741824 + 268435456 ,-5,-30,320,240,l1,0) if lhand <> 0 then P_2.VISIBLE=true send(lhand, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0) send(lhand, WM_CAP_SET_CALLBACK_ERROR, 0, 0) send(lhand, WM_CAP_SET_CALLBACK_STATUSA, 0, 0) send(lhand, WM_CAP_DRIVER_CONNECT, 0, 0) send(lhand, WM_CAP_SET_SCALE, 1, 0) send(lhand, WM_CAP_SET_PREVIEWRATE, 66, 0) send(lhand, WM_CAP_SET_OVERLAY, 1, 0) send(lhand, WM_CAP_SET_PREVIEW, 1, 0) end if else //关闭 parent.width=2761 send(lhand,wm_cap_driver_disconnect,0,0) send(lhand,wm_close,0,0) lhand = 0 P_2.VISIBLE=FALSE end if
zhgwbzhd 2018-06-11
  • 打赏
  • 举报
回复
你调用的函数少了吧,还是好好看看MSDN中的代码,把所有的函数都弄上吧。 比如后面还需要: capDriverConnect capCaptureGetSetup

680

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder API 调用
社区管理员
  • API 调用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧