在Win32应用程序中选择捕获设备

时间:2015-11-27 14:51:23

标签: c++ winapi webrtc directshow chromium-embedded

我有一个基于Chromium Embedded Framework(CEF3)API的Win32应用程序。在嵌入式浏览器窗口中显示网页,该网页使用WebRTC连接与具有相同应用程序的另一方进行通信。所以我们在双方之间有实时视频。

现在我应该为用户提供为WebRTC会话选择捕获设备(麦克风和网络摄像头)的能力,如果系统有多个,因为浏览器窗口仅捕获默认设备。问题是CEF3 API没有提供该功能(文档没有任何说明,topic about this question中官方CEF论坛上也没有答案。)

有没有办法通过Win32 API实现该任务?我找到了一些关于如何枚举设备的信息(使用SetupDi *函数,使用DirectShow API),但没有找到关于如何为我的应用程序启用/禁用特定设备的信息。我应该用什么来解决这个问题?

建议,我会感谢任何帮助。如果可能的话,很高兴看到代码示例。

1 个答案:

答案 0 :(得分:0)

看看directshow的微软样本。它就在那边。 https://msdn.microsoft.com/en-us/library/windows/desktop/dd375468(v=vs.85).aspx