モノラルでWinFormアプリを実行するための実際のコストは?

StackOverflow https://stackoverflow.com/questions/207255

  •  03-07-2019
  •  | 
  •  

質問

私の会社には、WinXPで実行されている既存のWinFormアプリケーションがあります。アプリケーションは、DirectSoundを使用して多くのサウンド処理を行います。

Vista / Win Server 2008のワークステーションあたりのコストの代替として、私の会社はMonoを評価したいと思います。

「Monoで簡単に動作する」から「WinFormアプリをLinuxでMonoで実行するには、場合によっては数ヶ月の再コーディングが必要になる」など、さまざまな見積もりがあると聞きました。

これで実世界での経験はありますか? 良いリンクリファレンス? テストにコミットする前に、より良いアイデアを得たいと思います。

ありがとう!

役に立ちましたか?

解決

WinFormsの部分は簡単です。MonoがWinformsを100%サポートすると主張しているため、ほとんど何もする必要はありませんが、すべてのDirectSound呼び出しを書き換えて、Linuxで利用可能なAPIを使用します。

VS 2005で小さなアプリを作成し、Monoに簡単に移植しました。多くのP / Invokesを実行する場合、それらを完全に書き直したり、再考したりする必要があるため、それを考慮する必要があります。

また、 MOMA もご覧ください:" Mono Migration Analyzer(MoMA)ツールは、 .NetアプリケーションをMonoに移植するときに発生する可能性のある問題を特定します。プラットフォーム固有の呼び出し(P / Invoke)と、Monoプロジェクトでまだサポートされていない領域を特定するのに役立ちます。"

他のヒント

Monoはマネージコードの移動には役立ちますが、オーディオレイヤーの移動には役立ちません。

残念ながら、.NETフレームワークはオーディオ処理のための包括的なAPIを提供していません。それは単に小さな音のサンプルを再生する方法を提供するだけであり、これにはあまり適していません(IKVMでC64エミュレーターを実行するときのオーディオギャップに関するJeroenの投稿を参照してください)。

どのLinux APIがオーディオアプリケーションの処理に最適であるかを調査する必要があります。

Lennart Poetteringの音声に関するブログエントリは、優れた出発点です。

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

APIを決定したら、Windowsの場合と同様に、適切なAPIをP / Invokeする必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top