Pergunta

Minha empresa tem uma aplicação WinForm estabelecido existente que em execução no WinXP. O aplicativo faz um monte de processamento de som usando DirectSound.

A minha empresa gostaria de avaliar Mono, como uma alternativa em um por estação de trabalho custo para Vista / Win Server 2008.

Ouvi dizer que diferentes estimativas, que vão desde 'ele vai trabalhar facilmente em Mono' para 'que poderia levar meses de recodificação em certos casos, para obter um aplicativo WinForm para ser executado com Mono no Linux'.

Alguém tem uma boa experiência no mundo real com isso? Uma boa referência link? Eu gostaria de ter uma idéia melhor antes de me comprometer a testes.

Obrigado!

Foi útil?

Solução

A parte WinForms será fácil, você pode ter que fazer muito pouco como Mono agora diz apoiar Winforms 100%, no entanto todas as chamadas DirectSound terá que ser reescrito para usar uma API disponível para Linux, ALSA ser a escolha óbvia .

Eu escrevi pequenas aplicações em VS 2005 e portado-los com facilidade para Mono. Se você faz um monte de P / Invoca, então você vai ter que levar isso em conta, como os que podem ter de ser totalmente reescrito ou repensada.

Além disso, confira MOMA : "O Mono Migration Analyzer (MoMA) ferramenta ajuda a identificar problemas que você pode ter quando portar sua aplicação .Net para Mono. Ele ajuda as chamadas plataforma milimétrica específicos (P / Invoke) e áreas que ainda não são suportadas pelo projeto Mono ".

Outras dicas

Mono pode ajudá-lo a mover o código gerenciado, mas não vai ajudá-lo a mover a camada de áudio.

Infelizmente, o framework .NET não fornece uma API abrangente para processamento de áudio. Ele apenas fornece uma maneira de reproduzir uma pequena amostra de som, e não é mesmo muito bom nisso (pós See de Jeroen sobre lacunas de áudio ao executar o emulador de C64 sob IKVM).

Você terá que pesquisar quais Linux API do Google Maps melhor para o seu aplicativo de áudio está fazendo.

blog Lennart Poettering em áudio é um excelente ponto de partida:

http://0pointer.de/blog/projects/guide -a-som-apis.html

Depois de decidir sobre uma API, assim como no Windows, você terá de P / Invoke a API que é ideal para você.

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