C# 如何获取USB摄像头的视频
就是普通的USB摄像头,现在要实现一个功能,像QQ一样,插入USB摄像头之后,能通过软件获取摄像头的视频数据。--------------------编程问答-------------------- 就是一般的usb摄像头,应该跟通信协议无关哦,想先了解一些这方面的知识 --------------------编程问答-------------------- http://directshownet.sourceforge.net/ --------------------编程问答-------------------- --------------------编程问答-------------------- 来学习 --------------------编程问答-------------------- 肿么了,没人搞过吗?应该很好玩才对哦 --------------------编程问答-------------------- 不太容易,好像的会directshow --------------------编程问答-------------------- //
//视频类
//
public class cVideo
{
private IntPtr lwndC;//保存无符号句柄
private IntPtr mControlPtr;//保存管理指示器
private int mWidth;
private int mHeight;
/// <summary>
/// 初始化视频函数
/// </summary>
/// <param name="handle">显示视频控件的句柄</param>
/// <param name="width">视频宽度</param>
/// <param name="height">视频高度</param>
public cVideo(IntPtr handle, int width, int height)
{
mControlPtr = handle;//显示视频控件的句柄
mWidth = width;//视频宽度
mHeight = height;//视频高
}
/// <summary>
/// 打开视频设备
/// </summary>
public void StartWebCam()
{
byte[] lpszName = new byte[100];
byte[] lpszVer =new byte[100];
VideoAPI.capGetDriverDescriptionA(0,lpszName,100,lpszVer,100);
this.lwndC=VideoAPI.capCreateCaptureWindowA(lpszName,VideoAPI.WS_CHILD|VideoAPI.WS_VISIBLE,0,0,mWidth,mHeight,mControlPtr,0);
if(VideoAPI.SendMessage(lwndC,VideoAPI.WM_CAP_DRIVER_CONNECT,0,0))
{
VideoAPI.SendMessage(lwndC,VideoAPI.WM_CAP_SET_PREVIEWRATE,100,0);
VideoAPI.SendMessage(lwndC,VideoAPI.WM_CAP_SET_PREVIEW,true,0);
}
}
/// <summary>
/// 关闭视频设备
/// </summary>
public void CloseWebCam()
{
VideoAPI.SendMessage(lwndC,VideoAPI.WM_CAP_DRIVER_DISCONNECT,0,0);
}
/// <summary>
/// 拍照
/// </summary>
/// <param name="hWndC">窗口句柄</param>
/// <param name="path">要保存bmp文件的路径</param>
public void GetCamImage(IntPtr hWndC,string path)
{
IntPtr hBmp = Marshal.StringToHGlobalAnsi(path);
VideoAPI.SendMessage(lwndC,VideoAPI.WM_CAP_SAVEDIB,0,hBmp.ToInt32());
}
} --------------------编程问答--------------------
哎,好像是的,看到很多人都说要用这个,偶下载了,里面好多东西啊。 --------------------编程问答--------------------
您这是用什么方法的 --------------------编程问答-------------------- 应该很好玩啊啊 --------------------编程问答-------------------- 用api吧。 --------------------编程问答-------------------- 可以用API实现!`以前做过一个项目里面有个directshow的方件,可以把视频设备列出来. --------------------编程问答-------------------- 支持用API,以前做过用VB的。就是用API.网上的例子挺多。跟用什么语言关系不大。 --------------------编程问答-------------------- 最近也在找,但不知道为什么捕捉不到。 --------------------编程问答--------------------
补充:.NET技术 , C#