如何利用directshow代替vfw的capDlgVideoSource?? |
尚未結案
|
j89105
一般會員 發表:0 回覆:2 積分:0 註冊:2008-09-06 發送簡訊給我 |
|
ikk
尊榮會員 發表:4 回覆:413 積分:768 註冊:2003-06-30 發送簡訊給我 |
|
j89105
一般會員 發表:0 回覆:2 積分:0 註冊:2008-09-06 發送簡訊給我 |
|
ikk
尊榮會員 發表:4 回覆:413 積分:768 註冊:2003-06-30 發送簡訊給我 |
|
bugmans
高階會員 發表:95 回覆:322 積分:188 註冊:2003-04-12 發送簡訊給我 |
http://delphi.ktop.com.tw/download.php?download=upload/489da1a9704cb_Playcap.rar
是要的功能是不是像這樣,從功能表Devices就能切換兩台攝影機 假如是的話可用dspack來實作 範例在C:\DSPACK\Demos\BCB6\Playcap http://delphi.ktop.com.tw/board.php?cid=168&fid=921&tid=37755 |
ytasmallmf
一般會員 發表:33 回覆:39 積分:14 註冊:2008-12-11 發送簡訊給我 |
試看看下面的程式碼,我也有碰過跟你一樣的問題
[code cpp] TSysDevEnum *SysDev; SysDev = new TSysDevEnum(CLSID_VideoInputDeviceCategory);//將裝置列舉出來 void __fastcall TForm1::N1Click(TObject *Sender) { if(SysDev->CountFilters == 0) { Application->MessageBoxA("No Camera","Msg",0); } else { FilterGraph->ClearGraph(); FilterGraph->Active = false; Filter->BaseFilter->Moniker = SysDev->GetMoniker(輸入裝置序號);//0~n(在這邊指定裝置號碼) StatusBar1->Panels->Items[1]->Text="裝置名稱:" SysDev->Filters[((TMenuItem *)Sender)->Tag].FriendlyName; // Filter->BaseFilter->Moniker = SysDev->GetMoniker(1); FilterGraph->Active = true; ICaptureGraphBuilder2 *Graph = NULL; CheckDSError(SampleGrabber->QueryInterface(IID_IBaseFilter,&SampleFilter)); CheckDSError(FilterGraph->QueryInterface(IID_ICaptureGraphBuilder2, &Graph)); CheckDSError(VideoWindow->QueryInterface(IID_IBaseFilter, &VideoFilter)); CheckDSError(Filter->QueryInterface(IID_IBaseFilter, &SourceFilter)); Graph->RenderStream(&PIN_CATEGORY_PREVIEW, NULL, SourceFilter,SampleFilter , VideoFilter); FilterGraph->Play(); Graph->Release(); VideoFilter->Release(); SourceFilter->Release(); } } [/code] |
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |