gpt4 book ai didi

C# 网络摄像头 WM_CAP_CONNECT : Want to force a capture source when multiple capture sources present

转载 作者:太空宇宙 更新时间:2023-11-03 14:30:10 25 4
gpt4 key购买 nike

我正在使用在网上找到的 WebCam_Capture 代码通过 C# 访问网络摄像头。在一台只有一个视频源的计算机上,它就像一个魅力! (程序在启动时启动,找到网络摄像头并正常工作)。

虽然在一台有很多视频源的计算机上(比如一个网络摄像头,然后在其上运行许多摄像头),程序会启动并询问用户要使用哪个源。我希望我的程序在机器重新启动时自动启动,所以等待用户输入会造成麻烦,无论如何我可以强制它只选择说出第一个找到的源并继续吗?

所以我有一些网络摄像头代码,我确实是在这里在线找到的:

http://channel9.msdn.com/forums/TechOff/93476-Programatically-Using-A-Webcam-In-C/?CommentID=94149

现在在准备这篇文章时,我做了更多研究,发现我的问题出在上面代码的这一行:

SendMessage(mCapHwnd, WM_CAP_CONNECT, 0, 0);

这就是连接网络摄像头的原因,唯一的问题是如果我有多个来源,上面会弹出这个烦人的视频源对话框。我希望它只使用第一个源,这样就不会出现对话框。我尝试在 0 所在的位置传递不同的值,果然对话框没有出现,但它也不起作用。任何人都知道是否有一个值可以传递给 SendMessage 以暂停对话并让它选择它找到的第一个视频源?

最佳答案

我发现的唯一提示是第一个 0 是相机索引:

SendMessage(_windowHandle, WM_CAP_CONNECT, _videoSourceIndex, 0)

尝试给出 0,1,2,直到连接所需的相机。请注意,网络摄像头可能需要长达 5 秒的时间才能响应。其中一些非常慢。

但最好的建议是尝试 DirectShow.NET库,因为它比您当前使用的 API 更强大。

关于C# 网络摄像头 WM_CAP_CONNECT : Want to force a capture source when multiple capture sources present,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2847659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com