DirectSound DirectSound 의 개요 DirectSound 와 DirectMusic   [목차열람] [주소복사] [슬롯비우기]
DirectSound 과 DirectMusic
 
Microsoft DirectX 9.0

DirectSound 과 DirectMusic

DirectSound 과 DirectMusic 는 DirectX 의 다른 구성 요소이지만, 일부의 기능은 공통되고 있다. 어느쪽이나 WAV 사운드를 재생하지만, DirectMusic 는, 모든 사운드를 합성해 웨이브 폼을 생성해, 최종적으로 DirectSound 버퍼를 통해 재생한다.

DirectMusic 는 한층 더 기능의 풍부한 API 로, 게임이나 다른 대화형 애플리케이션의 대부분의 오디오 시나리오에 대해서 완전한 솔루션을 갖추고 있다. 이름은 DirectMusic 이지만, 음악 이외의 사운드 이펙트를 포함한 모든 종류의 사운드를 재생한다. DirectSound 는, 하드웨어 리소스의 하위 레벨의 관리를 필요로 하는 시나리오에 적절한 API 이다. 예를 들어, system resource를 사용해 가능한 한 짧은 지연 시간에 재생해야 할 짧은 사운드가 다수 있는 게임 등이다.

DirectMusic 를 사용해 다른 컨텐츠를 재생하고 있는 애플리케이션이어도, 그것과는 별도로 DirectSound API 를 사용해 WAV 사운드를 재생할 수 있다. 또, DirectSound 를 사용하면, DirectMusic 에 의해 관리되고 있는 사운드 버퍼를 조작할 수 있다. 예를 들어, DirectMusic 오디오 패스로부터 DirectSound 를 취득해, 3D 간을 이동할 수 있다.

다음의 표는, 2 개의 API 로 제공되는 기능을 집계한 것이다.

기능 DirectMusic DirectSound
WAV 사운드의 재생 있어 있어
MIDI 의 재생 있어 없음
DirectMusic Producer 세그먼트(segment)의 재생 있어 없음
컨텐츠 파일의 로드와 개체의 관리 있어 없음. 다만, 샘플 코드에서는 약간의 지원 있어.
실행시의 뮤직 파라미터의 제어 있어 없음
사운드의 삽입에 대한 타임 라인의 관리 있어 없음
다운로더블 사운드 (DLS)의 사용 있어 없음
개별의 사운드의 볼륨, 피치, 팬의 설정 있어. DirectSound API 를 이용. 있어
복수의 사운드 (오디오 패스)에의 볼륨의 설정 있어 없음
3D 사운드의 처리 있어. DirectSound API 를 이용. 있어
이펙트의 적용 (DMO) 있어. DirectMusic Producer 의 컨텐츠 또는 DirectSound API 를 이용. 있어
믹스 인 (송신) 이펙트에 대한 체인 버퍼 있어. DirectMusic Producer 의 컨텐츠를 이용. 없음
WAV 사운드의 캡춰 없음 있어
전이중의 처리 없음 있어
MIDI 의 캡춰 있어 없음
하드웨어 버퍼의 할당의 제어 없음 있어

↑TOP