我在C#XNA项目中使用DirectShowLib来显示网络摄像头视频。我已从以下链接下载了完整的代码。
https://github.com/Iridio/XNADirectShowWebCam
我正在使用罗技1080p网络摄像头,但在我的程序输出中,我没有得到高清结果。我谷歌它,发现了各种结果。许多专家都说要编辑IAMStreamConfig
方法来设置分辨率和帧速率。我无法理解如何编辑它。
请指导我。
由于
阿夫塔卜
答案 0 :(得分:1)
您的网络摄像头由DirectShow图中的过滤器表示,此过滤器有一个输出引脚,数据从该输出引脚流出。此输出引脚由具有IPin接口的对象表示,但它通常也支持IAMStreamConfig接口。在您的代码中,您应该枚举网络摄像头过滤器的引脚,找到正确的引脚(通常称为“捕获”),然后将其转换为此接口(C#将为您查询COM接口的工作)。然后使用此界面,您可以枚举您的相机可以提供的所有媒体类型,在找到所需的媒体类型后,您可以调用SetFormat来选择它。我的帖子here中的更多详细信息和代码示例。