#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")
그리고 프로젝트 내에 .wav 파일을 넣어주고
PlaySound(TEXT("bgm.wav"), NULL,SND_FILENAME | SND_ASYNC | SND_LOOP | SND_NODEFAULT);
이런 식으로 옵션을 넣어준다. 중강 중간에느 | (OR) 을 적어준다.
여러가지 옵션 내용으로는
플래그명 의미
SND_APPLICATION 매개변수 pszSound는 응용프로그램에 등록된 변수명이다.
응용프로그램에 정의된 소리 변수명을 기입하기위해
당신은 이 플래그를 SND_ALIAS 또는 SND_ALIAS_ID와 함께
쓸수 있다.
SND_ALIAS 매개변수 pszSound는 레지스토리나 WIN.INI에 있는
시스템이벤트 변수이다. SND_FILENAME 또는 SND_RESOURCE와
함께 쓰지말아야한다.
SND_ALIAS_ID 매개변수 pszSound는 시스템 이벤트 변수에대해 미리 정의된
변수명이다. 밑에 코멘트를 보십시오.
SND_ASYNC 소리가 비동기로 연주되고 소리가 시작된후 즉시 반환한다
비동기적으로 연주되는 wave형식의 소리를 끝내기 위해서는
매개변수 pszSound 에 NULL을 설정하고 PlaySound를 호출
해야한다
SND_FILENAME 매개변수 pszSound는 파일이름이다. 만약 파일을 발견하지 못했을경우
SND_NODEFAULT 플래그가 설정되어 있지않다면 기본 소리가
재생된다
SND_LOOP 매개변수 pszSound을 설정하고 PlaySound를 다시 호출하기전까지
반복하며 연주를 한다. 만약 이 플래그가 설정되어있다면
또한 당신은 반드시 SND_ASYNC 플래그도 설정해야한다.
SND_MEMORY 매개변수 pszSound는 메모리에서 로드된 소리의 포인터이다
좀더 많은 정보를 원한다면 Playing WAVE Resources(링크)를
보십시오.
SND_NODEFAULT 어떠한 기본 사운드 이벤트도 사용하지 않는다.
만약 소리가 발견되어지지 않았다면 PlaySound는 기본소리를
재생하지 않고 반환한다라는 것이다
SND_NOSTOP 기입된 사운드 이벤트는 이미 연주되고 있는 사운드 이벤트에게 양보할것이다.
만약[because the resource needed to generate that
sound is busy playing another sound] 사운드가 연주 되어 지지 못하면
함수는 즉시 요구된 사운드의 재생 없이 FALSE를 반환한다
만약 이 플래그가 기입되어 있지 않다면 장치가 새로운 사운드를 연주 하기위해
PlaySound는 현재 재생중인 사운드를 정지하려한다.
SND_NOWAIT 만약 드라이버가 사용중이라면 즉시 사운드의 재생없이 반환한다.
SND_PURGE 사운드들은 정지된다. 만약 pszSound가 NULL이 아니라면
모든 기입된 사운드의 instance 는 정지한다. 만약 pszSound 가 NULL이면
호출(calling task)대신에 모든 사운드를 연주한다.
당신은 반드시 SND_RESOURCE 이벤트를 멈추기위해 instance handle을
기입해야한다
SND_RESOURCE 매개변수 pszSound는 리소스 변수이다. 반드시 hmod는 리소스를 담고 있는
instance이어야한다. 더많은 정보를 보고 싶다면 Playing WAVE Resources(링크)를
보십시오
SND_SYNC 사운드는 동기적으로 연주되고 사운드 이벤트가 완료 된후 PlaySound는 반환한다
이것은 기본 동작이다.
PlaySound(TEXT("20090214050349.wav"), NULL,SND_FILENAME | SND_ASYNC | SND_LOOP | SND_NODEFAULT);
배경음은 이런식으로 작성..
[출처] 콘솔에 생기를 불어넣자! PlaySound (C언어를 배우자) |작성자 빵집상인