DirectSound DirectSound C++ 샘플 Play 3D Sound 샘플 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
설명
Play 3D Sound 샘플에서는, 3D 사운드 버퍼를 생성 하는 방법과 그 프로퍼티를 조작하는 방법을 나타낸다. 3D Audio 샘플과 유사하지만 이 샘플은 DirectSound API 만을 사용한다.
패스
소스:(SDK 루트) \Samples\C++\DirectSound\Play3DSound
실행 가능 파일:(SDK 루트) \Samples\C++\DirectSound\Bin
사용자가이드
[Sound File] 를 클릭해 WAV 파일을 로드한다. 사운드를 재생한다. 음원의 위치가 그래프상에 붉은 점으로써 나타난다. 이 그래프에서는, x 축이 왼쪽에서 오른쪽을 향해, z 축이 아래에서 위로 향하고 있다. 슬라이더를 사용해, 2 개의 좌표축 위에의 이동 범위를 변경한다.
청취자는 그래프의 중앙에 위치해, 디폴트의용을 적합하다. 디폴트의 방향은, z 축의 정의 방향, 즉 화면의 윗방향이다. 음원은 청취자의 좌우 전후로 이동해, 상하에는 이동하지 않는다.
윈도우의 중앙에 있는 슬라이더는, 청취자의 프로퍼티, 즉 글로벌 사운드 프로퍼티를 제어한다. [Defer Settings] 를 클릭 하면, 변경은, 다음에 [Apply Settings] 를 클릭할 때까지 적용되지 않는다.
프로그래밍 메모
3D 컨트롤을 사용하지 않고 간단하게 DirectSound 버퍼를 설정하는 방법의 예에 대해서는,Play Sound 샘플을 참조할것.
이 샘플은, 다음의 순서로 IDirectSound3DListener8 인터페이스를 얻어온다.
이 샘플은, 다음의 순서로 IDirectSound3DBuffer8 인터페이스를 얻어온다.
애플리케이션은,IDirectSound3DListener8::SetAllParameters 를 호출해 청취자의 파라미터를 설정한다. 청취자의 프로퍼티는,DS3DLISTENER 구조체에 기술되고 있다. 애플리케이션은,IDirectSound3DBuffer8::SetAllParameters 를 호출해 DS3DBUFFER 구조체를 건네주어, 음원의 위치를 설정한다.
파라미터를 설정 하면 DS3D_DEFERRED 플래그가 설정된다. 변경은,IDirectSound3DListener8::CommitDeferredSettings 가 불려 갔을 때에 반영된다. 이 메서드는, 버퍼와 청취자의 설정의 반영을 늦추어, DirectSound 에 의한 계산이 한 번에 끝나도록(듯이) 하고 있다.
참조