自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

專家對(duì)于VS2003 ActiveX控件的調(diào)試與方法

開發(fā) 后端
VS2003利用平臺(tái)調(diào)用ActiveX控件中的功能函數(shù)進(jìn)行封裝,然后再C#中進(jìn)行調(diào)用。這樣效率很低并且太復(fù)雜。還可以利用第三方提供的ActiveX控件來實(shí)現(xiàn)這個(gè)功能,這有什么好處呢?

本文講述VS 2003 ActiveX控件的調(diào)試功能,怎樣使用ActiveX控件。這些內(nèi)容都是我今天花花了一周的時(shí)間查閱資料并像IT精英學(xué)習(xí)出來的,中間可能有不少錯(cuò)誤是我沒有挑出的,歡迎大家指正。

簡(jiǎn)單?。。?!這也就足夠了。并且往往第三方提供的控件功能更強(qiáng)大。但是世界上沒有免費(fèi)的午餐——這種控件往往是要收費(fèi)的。在這里肯定有的朋友會(huì)想到:“不是還可以利用DX(DirectX)來實(shí)現(xiàn)嗎,微軟也提供了Manager DX托管代碼的SDK”。

的確,利用DX來實(shí)現(xiàn)視頻捕獲和回放是一個(gè)很好的方法,無論從效率還是效果來說都是上上之選。不幸的是:微軟雖然提供了D3D、DirectDraw、DirectSound、DirectPlayer......但是唯獨(dú)沒有我們感興趣的,可以實(shí)現(xiàn)視頻捕獲的DirectShow的SDK。據(jù)我所知,國(guó)外有開源的代碼對(duì)DirectShow進(jìn)行了封裝,我也用過,個(gè)人感覺還不錯(cuò),有興趣的朋友可以查找一下這方面的資料,這里我就不多說了。


言歸正傳,要利用ActiveX在C#中實(shí)現(xiàn)視頻捕獲,先要做好以下準(zhǔn)備工作:

首先是要有VS2003或者VS2005的開發(fā)環(huán)境,這個(gè)我就不多說,相信地球人都知道。
其次是要安裝好攝像頭的驅(qū)動(dòng)程序,也就是說你在QQ或者M(jìn)SN視頻聊天時(shí)能看到你自己攝像頭的圖像。
然后是最重要的了:安裝支持視頻捕獲的ActiveX控件!什么控件?Pegasus CapturePro。哪里下載?下載地址:http://www.cncode.com/downinfo/3504.html 這個(gè)地址應(yīng)該是可以下載的,我剛剛又測(cè)試了一次。#t#

但是我不能保證它一直有效。這個(gè)控件是收費(fèi)的,網(wǎng)上有它的評(píng)估版,相信大家也有辦法,實(shí)在不行,那么給我發(fā)Email吧,我來告訴你怎么辦。安裝時(shí)一直"Next"下去后就可以了。

在VS2003中新建一個(gè)“Windows 應(yīng)用程序”工程,工程建立后,首先要向“工具箱”中添加ActiveX控件具體方法是在VS2003菜單的“工具”菜單中單擊“添加/移除工具箱項(xiàng)”。在彈出的對(duì)話框中選擇“COM 組件”選項(xiàng)卡,在下面的列表框中,將“Pegasus Imaging CapturePRO Control v3.0”前面的復(fù)選框選中,然后單擊“確定”返回編譯器編輯界面就可以了。然后將剛剛添加的控件拖放到窗體上調(diào)整好大小和位置,在屬性頁(yè)中修改屬性。修改屬性的方法和普通控件一樣,至于各個(gè)屬性的含義可以參考控件的幫助文檔。控件所有的方法、屬性和事件在幫助文檔中都有詳細(xì)的說明。

這里建議修改其“Name”屬性,方便以后操作,比如將Name屬性改為axCap(以后axCap都表示該控件)。將axCap的Size屬性改為320,240。因?yàn)楹芏鄶z像頭的默認(rèn)分辨率是320X240。窗體布局大概如下圖:

axCap

 然后再窗體上放一個(gè)Button控件,在該控件的單擊事件中添加以下代碼:

  1. private void butConnect_Click(object sender, System.EventArgs e)  
  2. ...{  
  3.     axCap.Connect (0);          
  4. true;       

到這里就表示我們的ActiveX控件操作成功了,最基本的功能實(shí)現(xiàn)了,這里對(duì)上述兩行代碼進(jìn)行簡(jiǎn)單的解釋。第一行axCap.Connect(0)表示將控件連接到設(shè)備0。在Windows中,可以同時(shí)支持多個(gè)視頻設(shè)備,每個(gè)設(shè)備都有一個(gè)編號(hào)。第一個(gè)設(shè)備編號(hào)0,第二個(gè)設(shè)備編號(hào)1,依次類推。由于我的電腦上只連接了一個(gè)視頻攝像頭,所以視頻設(shè)備的編號(hào)是0。這里也就可以看出Connect()函數(shù)的參數(shù)實(shí)際上就是視頻設(shè)備的參數(shù),至于怎樣來確定視頻設(shè)備對(duì)于得編號(hào),下面會(huì)有詳細(xì)的說明。第二行axCap.Preview = true;表示打開預(yù)覽。Preview屬性為真時(shí)表示在控件上顯示視頻圖像,當(dāng)然要是該屬性為false,我們就看不到視頻了。

 

責(zé)任編輯:chenqingxiang 來源: daily
相關(guān)推薦

2009-11-30 13:51:28

VS2003 Acti

2009-11-27 09:16:11

VS2003配置文件

2009-11-26 11:05:59

VS2003控件

2009-12-01 17:55:11

VS2003配置

2009-11-30 10:51:17

VS2003無法啟動(dòng)調(diào)

2009-11-30 16:50:26

VS2003調(diào)試

2009-11-30 10:34:28

VS2003編譯

2009-11-25 13:35:05

VS2003使用

2009-11-30 11:05:19

VS2003 WebS

2009-11-30 17:28:39

VS2003 ASP

2009-11-30 17:11:32

VS2003 VC6搭

2009-11-27 09:53:15

VS2003安裝程序

2009-11-27 13:22:42

VS2003無法調(diào)試

2009-11-30 13:51:28

2009-11-30 10:07:19

VS2003版本

2009-11-26 08:57:01

VS2003發(fā)布

2009-11-26 11:30:12

VS2003控件

2009-11-27 10:03:48

VS2003安裝失敗

2009-12-01 15:32:48

VS2003配置

2009-11-26 13:27:10

VS2003水晶報(bào)表
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)