2008-10-01 1 views
3

DirectSound는 Windows 용으로 가장 적합한 오디오 추상화 레이어입니까? 악의적 인 구현에서 특정 칩셋으로 빌드 된 앱을 abstration 레이어로 전환합니다.DirectSound는 Windows 용으로 가장 적합한 오디오 추상화 레이어입니까?

응용 프로그램은 Winform, .net 3.5입니다. DirectX/DirectSound는 선택의 여지가 있지만 약간의 오버 헤드가 염려됩니다. 다른 옵션은 없습니까? 아니면 다른 것에 대해서 생각하는 것이 어리석은가?

+0

레이어 (멀티 포맷, 폴리포니 등)에 대한 요구 사항은 무엇입니까? – MusiGenesis

답변

6

DirectSound는 과거와 마찬가지로 오늘날 Microsoft로부터 동일한 사랑을 얻지 못하고 있습니다. DirectX에 관한 한 XAudio2 또는 XACT를 대신 사용해보십시오. 어떤 사람들은 그것들을 사랑하고, 어떤 사람들은 그들을 싫어합니다. XAudio2는 저수준이지만 XACT는 다소 높은 수준입니다. 두 제품 모두 Managed DirectX와 유사하지만 적극적으로 개발 된 Microsoft XNA에서 액세스 할 수 있습니다.

그러나 DirectX와 함께 제공되는 것에 국한되지 않습니다. 좋은 것을 원한다면 FMod을 시도하십시오. 큰돈을 지불하고 싶지 않을 경우에 대비하여 셰어웨어/애호가 라이센스 모델과 프리웨어 라이센스 모델을 보유하고 있습니다.

소리로 정확히 무엇을하고 싶은지에 따라 선택하십시오.

+1

DirectSound가 이전에 사용하던 사랑을 얻지 못한다고 언급 한 것은 재밌습니다. 예전에는 DirectX/Direct3D/DirectPlay/DirectSound 개발자 였지만, 나 자신이 정체되어 있음을 알게되었습니다. – pearcewg

2

SDL이 더 좋게 보이는지 확인하십시오.

1

DirectSound는 꽤 좋습니다.

당신은 또한 ASIO를 보라 할 수 있습니다 동시에 여러 개의 사운드 카드를 통해 사운드 입력 및 출력에 대한 낮은 지연 시간 또는 좋은 지원이 필요한 경우

:

http://de.wikipedia.org/wiki/Audio_Stream_Input/Output

1

waveOut을 ... API은 여전히 ​​옵션입니다. 관리 코드로 작업하는 것은 까다 롭지 만, 한 번에 여러 사운드를 재생할 수 있습니다 (XP 및 Vista에서는 최소한).

가끔씩 소리를 들으려면 System.Media.SoundPlayer을 사용하는 것이 매우 쉽습니다. 그러나이 구성 요소를 사용하면 한 번에 두 개 이상의 사운드를 재생할 수 없습니다.

다른 유일한 주요 대안은 DirectSound입니다. 그것은 당신이 필요로하는 것이면 내장 된 소프트웨어 신디사이저를 가지고 있습니다.

EDIT : SDL이 재미있어 보입니다. 고마워, Sijin.

2

글쎄, OpenAL을 시도해 볼 수 있습니다. Direct3D에서 OpenGL을 사용하는 것은 OpenAL에서 DirectSound (3D)입니다. 인터페이스는 OpenGL과 매우 유사합니다. 좋아하지 않으면 OpenAL도 싫어할 것입니다. 또한이 lib의 Windows 버전이 고유 한 구현인지 또는 DirectSound를 호출하는지 알 수 없으므로 위에있는 (thin?) 래퍼 일 수 있습니다.

+0

OpenAL 용 기본 .NET 라이브러리가 있습니까? 나는 OpenGL에서 코딩을 즐겼다. – pearcewg

0

SharpDX 나는 후자의 x86 한계로 인해 Managed DirectX를 대신하여이를 시험해 볼 계획입니다.

관련 문제