我有一個自定義的源過濾器,通過執行dshow基類中的CSource
和CSourceStream
。它使用IFilterMapper2::RegisterFilter
方法以不同名稱導出多次。 現在,在我的過濾器中,我想知道(儘快)哪些已註冊的過濾器實例正在被打開。 例如,假設我有一個模擬虛擬攝像頭的dll。同樣的dll導出過濾器的兩個實例,所以在(說)Skype中,我可以選擇虛擬凸輪#1和虛擬凸輪#2。在我的CSource
或CSourceStream
的構造函數中,我想知道它是否是虛擬凸輪#1或虛擬凸輪#2正在構建中。這可以做到嗎?DShow源過濾器:我是哪個過濾器實例?
1
A
回答
2
有沒有文件記錄的方式,但有一個解決方法。由於DirectShow穩定,它應該可以很好地工作。
在您的過濾器類覆蓋IPersistPropertyBag::Load
和您所做的讀取IPropertyBag::Read
映射到註冊表從HKEY_LOCAL_MACHINE\SOFTWARE\Classes...\CLSID_VideoInputDeviceCategory\Instance\<your-instance>
讀取。所以你可以把你需要的所有標識都放在那裏,並讓它可以訪問。
注意這是從應用程序的BindToObject
調用中調用的。
我這樣做在通過IP攝像機的回答http://alax.info/blog/1233
相關問題
- 1. 使用Winsock insde DShow過濾器
- 2. 過濾器Sequelize實例
- 3. 什麼是源過濾器?
- 4. 是否WEKA過濾器保持實例
- 5. 過濾器和過濾器
- 6. 過濾器是
- 7. HTML表格過濾器不過濾多個過濾器
- 8. 將幾個過濾器組合成一個過濾器()與Django過濾器
- 9. 實體數據源過濾器
- 10. 在HBase中重用過濾器實例
- 11. 類的python過濾器實例
- 12. 角度多重過濾器,第二個過濾器是空的?
- 13. 如何實現一個DShow過濾器來讀取專門的AVI文件
- 14. maven資源過濾器xml
- 15. datagridview綁定源過濾器
- 16. 寫給Directshow源過濾器
- 17. ICollectionView過濾器影響源
- 18. 開源網頁過濾器
- 19. DirectShow源代碼過濾器
- 20. Jersey資源過濾器
- 21. 過濾另一個過濾器對象
- 22. JSF DataTable過濾器示例
- 23. Django的過濾器 - 根據過濾器
- 24. 過濾器和-ms-過濾器
- 25. Twilio過濾器的記錄源是recordverb
- 26. angularjs過濾器沒有過濾multipe過濾器的值
- 27. 如何使用CoreImage過濾器實現灰度過濾器?
- 28. 應用多個過濾器,但不是級聯(過濾器陣列中的前一個過濾器)
- 29. 實體檢索過濾器
- 30. 實施模型過濾器
感謝支持虛擬視頻輸入,聲音完美。儘管如此,我仍然遇到了一些困難。我的CSource實現類現在繼承自IPersistPropertyBag,但在我的CVCam :: QueryInterface中,我注意到IPersistPropertyBag接口永遠不會被請求。因此IPersistPropertyBag的方法永遠不會被調用。我錯過了明顯的東西嗎? – 2012-04-18 10:16:23
我能想到的是,你不是指示支持IPersistPropertyBag(在'GetInterface'中)。 – 2012-04-18 10:57:54
如果你的意思是QueryInterface,我是。 'REFIID riid'參數永遠不會等於'IID_IPersistPropertyBag',無論是在我的'CSource',還是'QueryInterface'和'NonDelegatingQueryInterface'方法的'CSourceStream'。 – 2012-04-18 11:09:59