我公司有一个现有的建立WinForm应用程序在运行在WinXP.该应用程序没有很多的声音处理使用DirectSound.

我的公司想要评估单,作为替代在每个工作站的费用Vista/赢得服务器2008年。

我听说过不同的估计,从'它的工作很容易在单","它可能需要几个月的重新编码在某些情况下,获得一个WinForm应用程序的运行与单上的Linux'.

任何人都不会有一个良好的实际经验与这个吗?一个很好的链路参考?我想获得一个更好的主意之前我提交给检测。

谢谢!

有帮助吗?

解决方案

WinForms部分很简单,你可能不得不做很少,因为Mono现在声称支持Winforms 100%,但是所有的DirectSound调用都必须重写以使用Linux上可用的API,ALSA是显而易见的选择

我在VS 2005中编写了小应用程序并轻松将它们移植到Mono。如果你做了很多P / Invokes,那么你必须考虑到这一点,因为那些可能必须被完全重写或重新考虑。

另外,请查看 MOMA :“Mono Migration Analyzer(MoMA)工具可以帮助您确定将.Net应用程序移植到Mono时可能遇到的问题。它有助于查明特定于平台的调用(P / Invoke)和Mono项目尚不支持的区域。“

其他提示

单可以帮你移动管理的代码,但是它将不会帮助你的音频层。

可悲的是,中。净框架没有提供全面API for音频处理。它仅仅提供了一种方式回放一个小小的声音样本,它甚至不是很擅长这个(见Jeroen后有关音频隙时运行的C64模拟器在IKVM).

你将必须研究其Linux API地图,最好是什么你的声音应用程序是这样做的。

Lennart Poettering博客上的声音是一个良好的起点:

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

一旦你决定API,就像在Windows,你将有至P/调用API这是你的权利。

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