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

有帮助吗?

解决方案

您希望使用 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/src 目录并输入“make update”将 MonoMac.dll 更新到最新版本

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

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

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

其他提示

我不知道你所说的“对象-C DLL为单声道”的意思。

您绝对最好的办法是了解您的目标平台和港口只有逻辑和总体架构。

要访问照相机,麦克风,线路插件等Mac OS X上,使用QTKit(QuickTime的试剂盒)。它的头脑麻木简单的建立一个网络摄像头视图,记录文件,抓帧等,内置的设计,使这样的事情大多是拖和下降的开发商。

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

附:如果我用 object-c 重写应用程序,这意味着需要几个月的时间,并且当应用程序增长时,未来的工作量会加倍。我喜欢 object-c 但我讨厌不必要的工作。

我试图接受的代码XCode中,并且当我试图端口MonoDevelop中,几类缺失,例如。 QTCaputureSession,QTCaputreDeviceInput,CVimagebuffer。 (对不起,我无法编辑我的先前的消息,这是另一个帐户。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top