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를 사용하면 될거 같다고 생각하는데, 그것에 대해선 그냥 지나치도록 하겠다.
'프로그래밍 > API' 카테고리의 다른 글
API-알파값(비트맵 이미지 투명화) (0) | 2010.05.10 |
---|---|
API-애니메이션 (0) | 2010.05.10 |
API-더블 버퍼링 (0) | 2010.05.10 |
API-ChildWnd (0) | 2010.04.24 |
API-WindowLong (0) | 2010.04.24 |