Pergunta

Eu tenho um aplicativo .NET, que quero portar para o OSX. Até agora, usei uma DLL DirectShow para manuseio da webcam. Posso usar uma DLL Objective-C para Mono? Como? Eu sou um novato no Mac. Existe uma solução existente (manuseio da webcam) para isso? Existe uma solução melhor?

Foi útil?

Solução

Você deseja usar a estrutura do QTKit para fazer isso, em particular, você pode usar o QTCAPTUREVEW como um NSView reutilizável que você pode incorporar em uma janela existente ou em um aplicativo para fazer a captura de vídeo real.

Acabei de adicionar suporte para capturar às ligações Monomac alguns minutos atrás, depois de ver sua pergunta, então você precisará fazer um pouco de trabalho.

Passos:

  1. Instale Mono, Monodevelo e o Addin Monomac, conforme descrito aqui: http://mono-project.com/monomac

  2. Faça o download das fontes mais recentes para Monomac e Maccore do Github: http://github.com/mono/maccore e http://github.com/mono/monomac

  3. Atualize o Monomac.dll para a versão mais recente, entrando no diretório Monomac/SRC e digitando "Make Update"

Nesse ponto, você poderá usar o QTCAPTUREVEW em seus aplicativos Monomac, como qualquer outro NSView. Um tutorial mostrando o uso da API no Objective-C está aqui:

O objetivo deste estudo foi avaliar a eficácia do

Você pode apenas usar as versões equivalentes em C#

Outras dicas

Não tenho certeza do que você quer dizer com "uma dll Object-C para mono".

Sua melhor abordagem absoluta é aprender a plataforma que você está segmentando e portar apenas a lógica e a arquitetura geral.

Para acessar câmeras, microfones, filas, etc. No Mac OS X, use QTKit (Kittime Kit). É insensível configurar uma visualização de webcam, gravar em arquivos, armas, etc. Ele é incorporado e projetado para fazer com que esse tipo de coisa seja principalmente arrastada para os desenvolvedores.

Monomac é apenas uma alternativa. Existem monobjc, cocosharp, nobjetivo, mobjc / mcocoa e objc# (não posso escolher entre eles). Eles são todos "pontes" entre mono e cacau, o que significa que você pode usar a API de cacau na aplicação mono. Mas não quero usar a API diretamente. Eu só quero uma biblioteca dinamicamente vinculada, que me fornece alguma função para o manuseio da webcam (como eu disse, fiz isso até o momento no Windows). Em outras palavras: preciso de um invólucro em Mono para o QTKit.

PS: Se eu reescrever o aplicativo no Object-C, isso significa vários meses e o trabalho duplo no futuro quando o aplicativo aumentará. Eu amo o Objeto-C, mas odeio trabalhar desnecessário.

Eu tentei o código aceito no Xcode e, quando tentei portar para monocevelhing, várias classes estão ausentes, por exemplo. QtcaputureSession, qtcaputredeviceInput, cvImageBuffer. (Desculpe, não posso editar minhas mensagens anteriores, esta é outra conta.)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top