2011-02-08 34 views
0

好吧,我有這個3d電視轉換過濾器。我可以通過使用GraphEdit輕鬆配置其屬性,右鍵單擊其屬性並設置任何我想要的。如何設置DirectShow過濾器的屬性

現在我想通過在C++中構建過濾器圖來自動設置屬性。 我讀過Windows SDK文檔,發現我必須使用IKsPropertySet函數(糾正我,如果我錯了)。

我不得不使用IKsPropertySet :: QuerySupported來檢查它是否支持這種屬性。要做到這一點,我必須知道的屬性集內的財產

dwPropID

[中]標識符。

但是我怎麼能得到這個ID。像這個過濾器有調整水平和垂直的屬性,但我找不到那些屬性的ID。

無論如何要列出過濾器支持的所有屬性ID嗎?

+0

參見http://stackoverflow.com/questions/14050074/how-to-change-directshow-filter-properties-c – rogerdpack 2015-01-13 17:25:27

回答

1

directshow過濾器的功能通常通過接口暴露。標準directshow接口或自定義接口。你可以通過調用COM對象上的QueryInterface來獲得接口(可能是你的過濾器,但它也可能是其中一個接口)。過濾器文檔中可能描述了過濾器暴露的什麼類型的接口。

我想你應該先試着看一下關於directshow和COM的一些信息,然後再着手編碼。 Here你會發現一些關於DirecShow的信息。和here你會發現一些關於COM。

如果您打算在.net中執行此操作,請嘗試搜索directshownet。這是一個開源項目,它包裝了用於託管代碼的directshow API。

-Svein

+0

可能3DTVTransformation接口? – rogerdpack 2015-04-16 12:49:37