如何使用 DirectShow 控制 LED?? |
尚未結案
|
firewing
一般會員 發表:23 回覆:47 積分:19 註冊:2002-12-13 發送簡訊給我 |
我使用 DirectShow 已經能從 Webcam 抓到影像,存檔都沒問題,但我想在 Webcam 上加上補光LED的功能,希望能藉由
BCB 控制 LED 的 On/Off, 請問我要如何實現呢? camera module 廠商 給我的訊息是 " AP 端控制的方法是透過 UVC Extension-Unit2, Chanel 1, Length 8" 但我不知到這是啥意思, 我到底要呼叫哪個 API 或 Function call 才能控制呢? 我的 AP 完全是使用 DirectShow 寫的, 完全不需 driver 就能使用,所以也希望加上 LED 功能後也不需要 Driver 感謝各位大大~ |
friendlly
高階會員 發表:22 回覆:144 積分:103 註冊:2003-04-08 發送簡訊給我 |
BCB 控制 LED 的 On/Off
就是要透過你的PC的介面輸出信號去控制LED 有兩個狀況 1.你的LED控制板提供 serial port 介面控制 <------這樣你就可以不用任何Driver 直接傳出Com port 去控制,當然你要知道 LED控制板的potocol .(還有前提是你的PC 要有com port ) 2.LED控制板 是透過 IO 的方式 , 這樣你就必須要加裝IO Card . 當然購買IO Card 會提供Driver ...這樣你也可以控制 UVC Extension-Unit2,Chanel 1, Length 8" <-----這東西 你要問你的供應商應該比較清楚是啥米咚咚 ===================引 用 firewing 文 章=================== 我使用 DirectShow 已經能從 Webcam 抓到影像,存檔都沒問題,但我想在 Webcam 上加上補光LED的功能,希望能藉由 BCB 控制 LED 的 On/Off, 請問我要如何實現呢? camera module 廠商 給我的訊息是 " AP 端控制的方法是透過 UVC Extension-Unit2, Chanel 1, Length 8" 但我不知到這是啥意思, 我到底要呼叫哪個 API 或 Function call 才能控制呢? 我的 AP 完全是使用 DirectShow 寫的, 完全不需 driver 就能使用,所以也希望加上 LED 功能後也不需要 Driver 感謝各位大大~ |
powmien
初階會員 發表:27 回覆:80 積分:41 註冊:2004-10-20 發送簡訊給我 |
UVC 是掛在 USB 底下的一個Class , UVC 的 protocol 定的很死,沒什麼變化的空間,所以為了方便特殊用途(ex:led on/off),又定義了 extension 這東西。一般來說廠商會有測試的Tools 方便你開發,不然webcam 本身、或是protocol 定義是否有問題也沒人知道,除非用 CATC 或是 Bus Hound 之類的分析儀器或軟体才能錄你下的command 是否正常,關於UVC 的定義你可以去 usb.org 找 usb video class (UVC)的文件看 extension 那一章,如果你會 SET_CUR / GET_CUR 應該都沒問題 . 希望對你有幫助 .
下面是用UVCView 看 extension usb 的 DESC , 從這個DESC 得知這個extension 只支援 Channel 1-4 (bmControls : 0x0F) [code cpp] ===>Video Control Extension Unit Descriptor<=== bLength: 0x1A bDescriptorType: 0x24 bDescriptorSubtype: 0x06 bUnitID: 0x04 guidExtensionCode: {28F03370-6311-4A2E-BA2C-6890EB334016} bNumControls: 0x08 bNrInPins: 0x01 ===>List of Connected Units and Terminal ID's baSourceID[1]: 0x03 bControlSize: 0x01 bmControls : 0x0F D00 = 1 yes - Vendor-Specific (Optional) D01 = 1 yes - Vendor-Specific (Optional) D02 = 1 yes - Vendor-Specific (Optional) D03 = 1 yes - Vendor-Specific (Optional) D04 = 0 no - Vendor-Specific (Optional) D05 = 0 no - Vendor-Specific (Optional) D06 = 0 no - Vendor-Specific (Optional) D07 = 0 no - Vendor-Specific (Optional) iExtension: 0x00 [/code] ===================引 用 firewing 文 章=================== 我使用 DirectShow 已經能從 Webcam 抓到影像,存檔都沒問題,但我想在 Webcam 上加上補光LED的功能,希望能藉由 BCB 控制 LED 的 On/Off, 請問我要如何實現呢? camera module 廠商 給我的訊息是 " AP 端控制的方法是透過 UVC Extension-Unit2, Chanel 1, Length 8" 但我不知到這是啥意思, 我到底要呼叫哪個 API 或 Function call 才能控制呢? 我的 AP 完全是使用 DirectShow 寫的, 完全不需 driver 就能使用,所以也希望加上 LED 功能後也不需要 Driver 感謝各位大大~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |