近期,做了个小软件,需要在Web页面调用本地摄像头,花了4个小时实现了(9个月没写程序了有点生疏了
),现分享给大家,希望有人能够用的到。
在网上也搜索过好多的资料,基本上都是在WinForm实现的摄像头调用,在页面中调用的基本没看见过。
思路:在页面中调用ActiveX控件,实现WebCamera(你懂的)。
下面具体步骤,写的有点太详细(有 点过分了,不要喷我 )。
一、制作 ActiveX 控件
这样,视频ActiveX控件就开发完成了。
第七步, 使用Visual Studio 2010的安装项目进行部署。这与普通的Windows Form应用程序的部署几乎一样,只有一个地方需要注意,将前面创建的用户控件项目作为主输出项目,并设置其Register属性为vsdrpCOM,如下图所示:
将项目生成,在路径下找到Release目录,下面有两个文件,这就是下面我们将要使用的控件。
第一步, 将我们做的视频控件进行安装。
第二步, 在页面中添加object标签对 ,调用我们的视频控件,即实现了我们想要的WebCamera。
效果:破摄像头不好,把我照那么难看 回头就换电脑....
在网上也搜索过好多的资料,基本上都是在WinForm实现的摄像头调用,在页面中调用的基本没看见过。
思路:在页面中调用ActiveX控件,实现WebCamera(你懂的)。
下面具体步骤,写的有点太详细(有 点过分了,不要喷我 )。
一、制作 ActiveX 控件
第一步,用VS2010创建一个项目,Windows窗体控件库,并命名为WebCamera。
更改“项目属性-应用程序-程序集信息”设置,勾选“使程序集 COM 可见”:
更改“项目属性-生成”设置,勾选“为 COM Interop 注册”(注意,此处如果实在debug状态下修改的,那在调到release状态下还需要再设置一次):
第二步,修改AssemblyInfo.cs文件,添加[assembly: AllowPartiallyTrustedCallers()]项(需要引用System.Security名称空间):
第三步,添加用户控件Camera,并设计界面,放上一个panel用来显示摄像头画面。
第四步,为了让ActiveX控件获得客户端的信任,控件类还需要实现一个名为“IObjectSafety”的接口。先创建该接口(注意,不能修改该接口的GUID值):
第四步,为控件类添加GUID,这个编号将用于B/S系统的客户端调用时使用(可以使用 工具-创建GUID 菜单创建一个GUID):
第五步,在控件类中继承并实现该接口:
第六步,添加视频控制类PCCamera.cs (该类主要功能是负责控制摄像头)。
这样,视频ActiveX控件就开发完成了。
第七步, 使用Visual Studio 2010的安装项目进行部署。这与普通的Windows Form应用程序的部署几乎一样,只有一个地方需要注意,将前面创建的用户控件项目作为主输出项目,并设置其Register属性为vsdrpCOM,如下图所示:
将项目生成,在路径下找到Release目录,下面有两个文件,这就是下面我们将要使用的控件。
二、页面中调用控件,实现 WebCamera
第一步, 将我们做的视频控件进行安装。
第二步, 在页面中添加object标签对 ,调用我们的视频控件,即实现了我们想要的WebCamera。
效果:破摄像头不好,把我照那么难看 回头就换电脑....