2

我有一个 .NET 应用程序,我想将它移植到 OSX。到目前为止,我使用 DirectShow DLL 进行网络摄像头处理。我可以为 Mono 使用 Objective-C DLL 吗?如何?我是Mac的新手。是否有现有的(网络摄像头处理)解决方案?有更好的解决方案吗?

4

4 回答 4

3

您想使用 QTKit 框架来执行此操作,特别是您可以将 QTCaptureView 用作可重用的 NSView,您可以将其嵌入现有窗口或应用程序中以进行实际的视频捕获。

几分钟前,在看到您的问题后,我刚刚添加了对 MonoMac 绑定的捕获支持,因此您需要做一些工作。

脚步:

  1. 安装 Mono、MonoDevelop 和 MonoMac 插件,如下所述:http: //mono-project.com/MonoMac

  2. 从 Github 下载 MonoMac 和 MacCore 的最新资源:http: //github.com/mono/maccorehttp://github.com/mono/monomac

  3. 将 MonoMac.dll 更新到最新版本,方法是进入 monomac/src 目录并输入“make update”

此时,您应该能够在 MonoMac 应用程序中使用 QTCaptureView,就像使用任何其他 NSView 一样。展示在 Objective-C 中使用 API 的教程在这里:

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/QTKitApplicationTutorial/BuildingaSimpleQTKitCaptureApplication/BuildingaSimpleQTKitCaptureApplication.html#//apple_ref/doc/uid/TP40008155-CH8-SW1

您可以在 C# 中使用等效版本

于 2010-11-24T05:39:26.060 回答
0

我不确定“用于 Mono 的 object-c dll”是什么意思。

您绝对最好的方法是了解您的目标平台并仅移植逻辑和通用架构。

要在 Mac OS X 上访问摄像头、麦克风、线路输入等,请使用 QTKit (Quicktime Kit)。设置网络摄像头视图、记录到文件、抓取框架等非常简单。它是内置的,旨在使这类事情主要是为开发人员拖放。

于 2010-11-22T16:59:41.653 回答
0

MonoMac 只是一种选择。有 Monobjc、CocoSharp、NObjective、MObjc / MCocoa 和 ObjC#(我无法在它们之间进行选择)。这些都是 Mono 和 Cocoa 之间的“桥梁”,这意味着您可以在 Mono 应用程序中使用 Cocoa API。但我不想直接使用 API。我只想要一个动态链接的库,它为我提供了一些用于处理网络摄像头的功能(正如我所说,到目前为止我是在 Windows 上做到这一点的)。换句话说:我需要一个用于 QTKit 的 Mono 包装器。

PS:如果我在 object-c 中重写应用程序意味着几个月,并且将来应用程序增长时加倍工作。我喜欢 object-c,但我讨厌不必要的工作。

于 2010-11-22T22:44:07.693 回答
0

我在 XCode 中尝试了接受的代码,当我尝试移植到 Monodevelop 时,缺少几个类,例如。QTCaputureSession、QTCaputreDeviceInput、CVimagebuffer。(对不起,我不能编辑我以前的消息,这是另一个帐户。)

于 2010-12-28T14:23:11.643 回答