프로그래밍/API

API-PlaySound

리뷰하는 (게임)프로그래머_리프TV 2010. 5. 10. 20:48


API에서 음악을 출력하기 위해 사용하는, PlaySound라는 함수만 사용해 주면된다.

특별히 주의할 점은 없고.

딱히 소스를 첨부 하지도 않겠다.

단지 PlaySound라는 함수를 사용하기 위해서는,

프로젝트에서 winmm.lib를 링크 하거나,

#pragma comment(lib, "winmm.lib" )

를 선언해야 하며,

#include <MMSystem.h>가 필요하다.

PlaySound의 첫번째 인자는 파일의 주소 TEXT("test.wav") 식으로 선언해 주고,

두번째 인자는 리소스의 Wave 파일을 연주할 경우 그 핸들을 지정,

3번째에 플래그 값이 들어 가는데,

SND_ASYNC를 삽입해 주는 것이 가장 무난하다.

PlaySound( TEXT("test.wav"), NULL, SND_ASYNC); 처럼 사용해 주면 소리가 난다.

만약 배경음악 처럼 무한으로 나오게 하고 싶다면 플래스를 SND_LOOP로 해주면 된다.

그리고 그 무한의 사운드를 종료해 주고 싶다면 NULL 옵션을 사용해 다시 한번 호출해 주면 종료된다.

단 한가지 아쉬운 점은 기존에 사운드가 흘러 나오고 있을 때 또다시 함수를 호출하면 기존의 플레이 되던 사운드가 종료된 다는것이, 가장 큰 단점이 아닐까 싶다.

해결하기 위해선 MCI를 사용하면 될거 같다고 생각하는데, 그것에 대해선 그냥 지나치도록 하겠다.