回答
是的。您可以使用DirectShow.net Lib來彌補差距。
他們甚至有一個樣本,如果你往下看,你會看到GSSF樣本描述的頁面:
GSSF - 在通用樣品來源 過濾器 - C#實現源 過濾器的方法。如果您想在圖形中使用 來源的樣本(對於位圖 文件中的 示例視頻幀),此過濾器將顯示如何。
雖然你可以,但是除非你知道DirectShow和.NET本地互操作性很好,否則可能會很困難。即使如此,它可能會有點艱難。
這裏是它正在做的一個例子:http://www.sichbo.ca/Free_Code/100_C_Sharp_directshow_filters
鏈接已死,請你更新? – cmario 2016-06-14 09:08:55
基本上你可以導出你的.NET類作爲COM。要使用DShow接口,只需鏈接到.NET項目中的CM對象。無論如何,在.NET中編寫DShow過濾器時,如果沒有像BaseClasses for C++這樣的庫的支持,可能會很有挑戰性。
我認爲在C#中實現一個完整的DirectShow過濾器是一個壞主意。 C++ DirectShowBaseClasses非常有用。重新實施這些將導致一個完整的混亂。
如果你想實現一個解碼器/編碼器或音頻/視頻效果,那麼你可以創建一個DMO(也許在C#中,但C++會更好)。如果你需要一個源代碼過濾器,拿起球樣本並修改它。如果您需要其他類型的過濾器,請查看示例(http://msdn.microsoft.com/en-us/library/windows/desktop/dd375468(v=vs.85).aspx),然後修改一個。
Maxim Kartavenkov在codeproject.com上寫了很多有用的DirectShow文章。看看這篇文章:Pure .NET DirectShow Filters in C#。它不僅包含源過濾器,還包含轉換過濾器,渲染器,編碼器等。
他的文章中的代碼不是基於directshow.net庫,這是一件好事。
- 1. 是否可以在C(而不是C++)中編寫node.js擴展?
- 2. 是否可以在Libgdx中編寫C/C++代碼?
- 3. 在c中編組自定義directshow過濾器界面#
- 4. 是否可以用C++而不是C編寫OpenCL內核?
- 5. 是否可以在C++中編寫通用可變參數zipWith?
- 6. 如何調試C++ DirectShow過濾器
- 7. C#註冊嵌入式Directshow過濾器
- 8. 是否可以在C/SDL中編寫Tower Defense
- 9. 在C#中的DirectShow推送源過濾器?
- 10. Can Dokan可以用來在C#中編寫文件系統過濾器嗎?
- 11. Netbeans(c/C++的MinGW編譯器)是否可以調用任意C/C++ DLL(在VS'05中編譯)?
- 12. 是否可以編寫批處理C#編譯器?
- 13. 在C++中通過DirectShow在C#UserControl中使用HWND的示例
- 14. 是否可以使用c#編寫a = b == c?
- 15. 如何將DirectShow過濾器轉換爲C++ \ C#?
- 16. 使用C++中的directshow過濾器捕獲視頻中的幀
- 17. 是否可以在C#中使用IGetActivationFactory.GetActivationFactory?
- 18. 是否可以在C#中培訓sapi?
- 19. 是否可以在C#中實現mixin?
- 20. 是否可以在C++中禁用鍵?
- 21. 在C#中ID是否可以使用?
- 22. 寫給Directshow源過濾器
- 23. 是否可以在Windows上編寫Objective-C?
- 24. 如何查找過濾器是否在C#GlobalFilter中
- 25. 是否有可能在Cython中編寫「純」C++類?
- 26. 是否有可能在C#中爲Android編寫應用程序?
- 27. 是否有可能在.Net 3.5(C#)中編寫Excel 2003插件
- 28. 是否可以使用Turbo C/C++編譯器生成DLL?
- 29. C/C++中的Retro,Lomo,Vignette過濾器?
- 30. 過濾在C
是否有任何方法來創建不僅源代碼過濾器,但例如renderers或compressorsetc? – Rella 2010-02-13 20:15:30