我有一個.NET應用程序,我想將它移植到OSX上。到目前爲止,我使用DirectShow DLL進行WebCam處理。我可以使用Mono的Objective-C DLL嗎?怎麼樣?我是Mac上的新手。有沒有現有的(WebCam處理)解決方案?有更好的解決方案嗎?Mono中的Objective-C
回答
你想使用QTKit框架來做到這一點,特別是你可以使用QTCaptureView作爲一個可重用的NSView,你可以嵌入現有的窗口或應用程序中進行實際的視頻捕獲。
我剛剛在看到您的問題後幾分鐘前添加了對捕獲到MonoMac綁定的支持,因此您需要做一些工作。
步驟:
這裏描述安裝Mono,MonoDevelop的和的MonoMac插件:http://mono-project.com/MonoMac
下載的MonoMac和MacCore最新消息透露從GitHub:http://github.com/mono/maccore和http://github.com/mono/monomac
通過進入monomac/src目錄並鍵入「make update」將MonoMac.dll更新到最新版本
在這一點上,您應該能夠像MonView其他NSView一樣在您的MonoMac應用程序中使用QTCaptureView。顯示使用的Objective-C的API的教程是在這裏:
您可以只使用相當於版本在C#中
我不確定你的意思是「對於單聲道的對象-C DLL」。
你絕對最好的方法是學習你的目標平臺,並且只移植邏輯和通用架構。
要在Mac OS X上訪問攝像頭,麥克風,線路等,請使用QTKit(Quicktime Kit)。設置網絡攝像機視圖,記錄文件,抓取幀等是非常簡單的。它內置並設計用於使開發人員能夠進行大部分拖放操作。
MonoMac只是一個選擇。有Monobjc,CocoSharp,NObjective,MObjc/MCocoa和ObjC#(我不能在它們之間選擇)。這些都是Mono和Cocoa之間的「橋樑」,意味着你可以在Mono應用程序中使用Cocoa API。但我不想直接使用API。我只想要一個dinamically連接的庫,它爲WebCam處理提供了一些功能(正如我所說的,我在Windows上完成了這個任務)。換句話說:我需要在Mono中爲QTKit封裝。 PS:如果我在對象c中重寫應用程序,這意味着幾個月,並且在將來應用程序將增長時將進行雙重工作。我喜歡object-c,但我討厭不必要的工作。
我試圖在Xcode中接受的代碼,當我試圖端口Monodevelop,幾個類缺失,例如。 QTCaputureSession,QTCaputreDeviceInput,CVimagebuffer。 (對不起,我無法編輯以前的消息,這是另一個帳戶。)
- 1. ObjectiveC中的MulticastDelegate
- 2. 中的ObjectiveC
- 3. 在的ObjectiveC
- 4. 在的ObjectiveC
- 5. 在的ObjectiveC
- 6. 在的ObjectiveC
- 7. ObjectiveC中的靜態變量
- 8. 什麼是ObjectiveC中的retainCount?
- 9. MVC中的ObjectiveC編程
- 10. ObjectiveC中的計算交點
- 11. 優點和iOS中/的ObjectiveC
- 12. NumberFormatter - ObjectiveC
- 13. Mono中的System.Data
- 14. Mono中的NamedPipeServerStream
- 15. 突破在的ObjectiveC
- 16. 在ObjectiveC中排序數組
- 17. 從ObjectiveC類中引用UIViewController
- 18. 從Objectivec中調用C main
- 19. Swift:import ObjectiveC vs Foundation
- 20. JSON ObjectiveC - 錯誤
- 21. Curl,Asana&ObjectiveC
- 22. Mono 2.10中的HttpApplicationState.Lock()
- 23. 的ObjectiveC NSMutableArray中添加的NSMutableDictionary問題
- 24. ObjectiveC中的UITextView的自定義圖標
- 25. 'java.lang.Class.getDeclaredField()'的ObjectiveC中的類似方法'
- 26. 的肖像和風景中的ObjectiveC
- 27. 的ObjectiveC,創建類的
- 28. 在ObjectiveC中測試類的加載
- 29. ObjectiveC中的循環#import/@類問題
- 30. ObjectiveC中的CGContextFillPath如何工作?
編號.NET,DLL等是Windows技術/ Windows API。再次說明:您需要了解您的目標平臺。這是沒有辦法的。用於連接網絡攝像頭的適當的Mac高級API是QTKit。較低級別是完整的QuickTime框架。 – 2010-11-22 17:21:04
感謝您的幫助。我的意思是:我想要一個dll寫在object-c中的東西,它使用OSX的API(用於WebCam處理),而我的Mono程序(OSX上的.NET的克隆)使用它。這次我使用了DirectX/Windows + .NET,現在我想要QuictTime/OSX + Mono。 – bsebi 2010-11-22 17:26:10
對不起,這是我的誤解。從MonoMac站點:「與MonoTouch不同,MonoMac不是對所有Cocoa API的完整綁定......」該列表不包括QTKit或QuickTime。 http://www.mono-project.com/MonoMac – 2010-11-22 17:33:20