프로그래밍/MFC2011. 5. 28. 15:58
 

헤더에 우선 선언

#pragma comment(lib, "winmm")
#include <mmsystem.h>

 

다음 플레이 할 경로를 구해온뒤

CString szSoundPath = "C:\\test.wav";

PlaySound(szSoundPath, AfxGetInstanceHandle(),  SND_ASYNC | SND_LOOP); // 무한

PlaySound(szSoundPath, AfxGetInstanceHandle(),  SND_ASYNC); // 1회 재생

PlaySound(NULL, AfxGetInstanceHandle(),  NULL); // 정지

 

wave 파일을 리소스에 등록 후, 재생하고자 시

PlaySound((LPCSTR)MAKEINTRESOURCE(IDR_WAVE1), NULL, SND_ASYNC | SND_RESOURCE);

 

BOOL PlaySound(

LPCSTR pszSound,
HMODULE hmod,
DWORD fdwSound
);


1. 사운드 재생

    : sndPlaySound("test.wav", SND_ASYNC | SND_LOOP);

 

2. 옵션 플래스

    - sndPlaySound 함수에서 wave 파일을 실행시킬 모드 종류
    - SND_ASYNC : 지정한 wave 파일이 실행될 때 언제든지 중지시킬 수 있다.
    - SND_LOOP : 지정한 wave 파일이 무한반복으로 실행된다.
    - SND_MEMORY : 사운드가 메모리에 있다.
    - SND_NODEFAULT : 지정한 경로에 wave 파일이 없어도 경고음이 나오지 않게한다.
    - SND_NOSTOP : wave 파일이 실행될 때 다른 사운드로 같이 재생시킬 수 있다.
    - SND_SYNC   : 지정한 wave 파일이 실행될 때 중지시킬 수 없다.

 3. 사운드 중지
    : sndPlaySound(NULL, SND_ASYNC);

Posted by 건깡