Pregunta

Mi empresa tiene una aplicación WinForm establecida que se ejecuta en WinXP. La aplicación hace mucho procesamiento de sonido usando DirectSound.

Mi empresa desea evaluar Mono, como alternativa en un costo por estación de trabajo para Vista / Win Server 2008.

He oído que diferentes estimaciones, que van desde 'funcionará fácilmente en Mono' hasta 'podría llevar meses de recodificación en ciertos casos para que una aplicación WinForm se ejecute con Mono en Linux'.

¿Alguien tiene una buena experiencia del mundo real con esto? Una buena referencia de enlace? Me gustaría tener una mejor idea antes de comprometerme con las pruebas.

¡Gracias!

¿Fue útil?

Solución

La parte de WinForms será fácil, es posible que tenga que hacer muy poco, ya que Mono ahora afirma que admite Winforms al 100%, sin embargo, todas las llamadas de DirectSound deberán reescribirse para utilizar una API disponible en Linux, ALSA es la opción obvia. .

He escrito pequeñas aplicaciones en VS 2005 y las porté con facilidad a Mono. Si haces un montón de P / Invokes, deberás tenerlo en cuenta, ya que es posible que haya que reescribirlos o repensarlos por completo.

También, consulte MOMA : " La herramienta Mono Migration Analyzer (MoMA) le ayuda identifique los problemas que puede tener al trasladar su aplicación .Net a Mono. Ayuda a identificar llamadas específicas de la plataforma (P / Invoke) y áreas que aún no son compatibles con el proyecto Mono. & Quot;

Otros consejos

Mono puede ayudarte a mover el código administrado, pero no te ayudará a mover la capa de audio.

Lamentablemente, el marco .NET no proporciona una API completa para el procesamiento de audio. Simplemente proporciona una forma de reproducir una pequeña muestra de sonido, y ni siquiera es muy bueno en esto (vea la publicación de Jeroen sobre las brechas de audio cuando se ejecuta el emulador C64 en IKVM).

Tendrá que investigar qué API de Linux se asigna mejor a lo que hace su aplicación de audio.

La entrada del blog Lennart Poettering sobre audio es un excelente punto de partida:

http://0pointer.de/blog/projects/guide -to-sound-apis.html

Una vez que decida una API, al igual que en Windows, tendrá que P / Invocar la API adecuada para usted.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top