问题背景 - 有两个不同的 Windows 应用程序正在尝试同时访问计算机上的网络摄像头。目前,只有一个应用程序能够访问它。我希望能够允许两个应用程序同时访问网络摄像头。我的问题的一个常见示例是 Skype 和 yahoo Messenger 尝试同时访问计算机上的网络摄像头。
我找到了一些软件(manycam.com、http://www.splitcamera.com/ http://www.splitcamera.com/)允许在 Windows 上执行此操作。但我不确定他们是如何实施的。我想自己编写代码来实现这一点,因为我的代码需要与其他 API 集成。
如果有人能够阐明如何编写设备包装器来实现这一目标,我将不胜感激。
内核相机驱动程序注册了几个操作系统定义的回调。其中一个回调用于输出流。专用的 Windows 应用程序具有此流的接口 - 您需要阅读有关此主题的内容,这不是 SO 范围内可以涵盖的内容。您需要一个位于客户端应用程序和相机驱动程序之间的组件。该组件应该拦截您的相机驱动程序输出并为注册的客户端复制它。这可以在内核(过滤器驱动程序)或用户模式(首选)中实现。http://msdn.microsoft.com/en-us/library/windows/hardware/ff557573%28v=vs.85%29.aspx http://msdn.microsoft.com/en-us/library/windows/hardware/ff557573%28v=vs.85%29.aspx是一个很好的起点。
注意:您的相机软件可能已经支持此功能(尽管我认为机会很小),在这种情况下,您应该深入研究相应的文档。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)