Вопрос

У меня есть .NET-приложение, которое я хочу портировать на OSX.До сих пор я использовал DirectShow DLL для работы с веб-камерой.Могу ли я использовать Objective-C DLL для Mono?Каким образом?Я новичок в Mac.Существует ли существующее решение (для работы с веб-камерой) для этого?Есть ли лучшее решение?

Это было полезно?

Решение

Вы хотите использовать фреймворк QTKIT, чтобы сделать это, в частности, вы можете использовать QTCaptureView в качестве многоразового NSView, который вы можете встроить в существующее окно или в приложении, чтобы выполнить фактическое захватное видео.

Я только что добавил поддержку для захвата к привязанию Monomac несколько минут назад после того, как я увидел ваш вопрос, поэтому вам нужно будет немного работать.

Шаги:

  1. Установите моно, монодослот и мономак Addin, как описано здесь: http://mono-project.com/monomac.

  2. Скачайте последние источники для Monomac и Maccore из GitHub: http://github.com/mono /maccore. а также http://github.com/mono/monomac.

  3. Обновите Monomac.dll до последней версии, перейдите в каталог Monomac / SRC и набрав «Создание обновления»

На этом этапе вы должны быть в состоянии использовать QTCaptureView в ваших приложениях Monomac, как и любой другой NSView. Учебное пособие, показывающее использование API в Objective-C здесь:

http://developer.apple.com/library/mac/#documentation/cocoa/Coneptual/qtkitaplicationTutionTutorial/buildingAsimplyqtkitcaptureApplication/buildingasimplyqtkitcaptureApplication.html#//apple_ref/doc/uid/tp40008155-Ch8-SW1.

Вы можете просто использовать эквивалентные версии в C #

Другие советы

Я не уверен, что вы подразумеваете под "object-c dll для Mono".

Ваш самый лучший подход - изучить платформу, на которую вы ориентируетесь, и портировать только логику и общую архитектуру.

Для доступа к камерам, микрофонам, линейным входам и т.д.в Mac OS X используйте QTKit (Quicktime Kit).Настроить просмотр веб-камеры, запись в файлы, захват кадров и т.д. Невероятно просто.Он встроен и разработан для того, чтобы сделать подобные вещи в основном перетаскиваемыми для разработчиков.

Monomac - только одна альтернатива. Есть monobjc, cocosharp, nobective, mobjc / mcocoa и objc # (я не могу выбрать между ними). Teese - это «мосты» между моно и какао, что означает, что вы можете использовать Cocoa API в приложении Mono. Но я не хочу использовать API напрямую. Я просто хочу динамически связанную библиотеку, которая предоставляет мне некоторую функцию для обработки веб-камеры (как я уже сказал, я сделал это до этого времени в Windows). Другими словами: мне нужна обертка в моно для Qtkit.

PS: Если я переписал приложение в Object-c, что означает несколько месяцев, и двойная работа в будущем, когда приложение будет расти. Я люблю объект-с, но я ненавижу работать ненужным.

Я попробовал принятый код в Xcode, и когда я попытался портировать в монодослот, несколько классов отсутствуют, например. Qtcaputureucusion, qtcaputredeviceInput, cvimagebuffer. (Извините, я не могу редактировать свои предыдущие сообщения, это еще одна учетная запись.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top