문제

우리 회사는 WinXP에서 실행중인 기존 확립 된 WinForm 응용 프로그램을 보유하고 있습니다. 응용 프로그램은 DirectSound를 사용하여 많은 사운드 처리를 수행합니다.

우리 회사는 Vista/Win Server 2008의 워크 스테이션 비용에 대한 대안으로 모노를 평가하고 싶습니다.

나는 '모노에서 쉽게 작동 할 것입니다'에서 '어떤 경우에는 리눅스에서 모노로 실행되기 위해서는 몇 달 동안 다시 코딩 할 수 있습니다'에 이르기까지 다양한 추정치를 들었습니다.

누구든지 이것에 대한 좋은 실제 경험이 있습니까? 좋은 링크 참조? 테스트에 전념하기 전에 더 나은 아이디어를 얻고 싶습니다.

감사!

도움이 되었습니까?

해결책

Winforms 부분은 쉬운 일이되며, 이제 Mono가 Winforms를 100%지원한다고 주장하기 때문에 거의 수행하지 않아도되지만, 모든 DirectSound 호출은 Linux에서 사용 가능한 API를 사용하려면 다시 작성해야합니다. ALSA는 명백한 선택입니다.

나는 2005 년 vs에 작은 앱을 작성했으며 모노에게 쉽게 포팅했습니다. P/호출을 많이하면 완전히 다시 작성하거나 다시 생각해야 할 수도 있으므로이를 고려해야합니다.

또한 확인하십시오 모마: "MOMA (Mono Migration Analyzer) 도구는 .NET 애플리케이션을 모노로 포팅 할 때 발생할 수있는 문제를 식별하는 데 도움이됩니다. 플랫폼 특정 통화 (P/Invoke) 및 모노 프로젝트에서 아직 지원되지 않는 영역을 찾는 데 도움이됩니다."

다른 팁

모노는 관리 코드를 이동하는 데 도움이되지만 오디오 계층을 이동하는 데 도움이되지 않습니다.

안타깝게도 .NET 프레임 워크는 오디오 처리를위한 포괄적 인 API를 제공하지 않습니다. 그것은 단지 작은 사운드 샘플을 재생하는 방법을 제공하며, 이것에 대해서도 잘하지 못합니다 (IKVM에서 C64 에뮬레이터를 실행할 때 오디오 격차에 대한 Jeroen의 게시물 참조).

당신은 어떤 Linux API가 당신의 오디오 응용 프로그램에 가장 적합한 지 연구해야합니다.

오디오의 Lennart 시인 블로그 항목은 훌륭한 출발점입니다.

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

Windows와 마찬가지로 API를 결정하면 자신에게 맞는 API를 P/호출해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top