PlaySound()
- 가장 기본적인 sound 함수
- #include <mmsystem.h>
#pragma comment(lib,"winmm.lib")를 필요로 한다.
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")
BOOL PlaySound(
LPCTSTR pszSound,
HMODULE hmod,
DWORD fdwSound
);
PlaySound(L"filepath.wav", 0, SND_FILENAME | SND_ASYNC);
SND_ASYNC | 사운드는 비동기적으로 재생되며 PlaySound 는 사운드가 시작된 직후에 반환됩니다. 비동기적으로 재생되는 파형 사운드를 종료하려면 pszSound 를 NULL 로 설정하여 PlaySound 를 호출합니다 . |
SND_FILENAME | pszSound 매개 변수는 파일 이름입니다. 파일을 찾을 수 없으면 SND_NODEFAULT 플래그가 설정되어 있지 않으면 함수는 기본 사운드를 재생합니다 . |
PlaySound function (Windows)
Table of contents PlaySound function Article 06/06/2016 4 minutes to read In this article --> The PlaySound function plays a sound specified by the given file name, resource, or system event. (A system event may be associated with a sound in the registry o
learn.microsoft.com
MCI
- playsound보단 복잡한 작업을 할 수 있다.
- 재생 시 특유의 프레임 드랍이 있어서 주로 배경음 재생할 때 사용한다.
- wav만 재생할 수 있는 playsound의 단점을 해결할 수 있다.
- direct sound가 mci 상위호환이라 direct sound를 배우는게 좋긴하다.
#pragma comment(lib, "winmm.lib")
#include <mmsystem.h">
#include <Digitalv.h>
MCI_OPEN_PARMS m_mciOpenParms;
MCI_PLAY_PARMS m_mciPlayParms;
DWORD m_dwDeviceID;
MCI_OPEN_PARMS mciOpen;
MCI_PLAY_PARMS mciPlay;
int dwID;
mciOpen.lpstrElementName = L"soundfilepath.mp3"; // 파일 경로 입력
mciOpen.lpstrDeviceType = L"mpegvideo"; // mp3
mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_ELEMENT | MCI_OPEN_TYPE,
(DWORD)(LPVOID)&mciOpen);
dwID = mciOpen.wDeviceID;
mciSendCommand(dwID, MCI_PLAY, MCI_DGV_PLAY_REPEAT, // play & repeat
(DWORD)(LPVOID)&m_mciPlayParms);
mciSendCommandW(dwID, MCI_PAUSE, MCI_NOTIFY,
(DWORD)(LPVOID)&m_mciPlayParms); */// Pause
mciSendCommandW(dwID, MCI_RESUME, 0, NULL); // resume
mciSendCommandW(dwID, MCI_CLOSE, 0, NULL); // stop
- mciSendCommand()를 통해 원하는 동작을 수행한다.
- open -( play - pause - resume - stop)과 같이 open 후 해당 정보를 토대로 play, pause, resume, stop 동작을 수행한다.
mciSendCommand function (Windows)
Table of contents mciSendCommand function Article 06/06/2016 2 minutes to read In this article --> The mciSendCommand function sends a command message to the specified MCI device. Syntax MCIERROR mciSendCommand( MCIDEVICEID IDDevice, UINT
learn.microsoft.com
'C++ > WinAPI' 카테고리의 다른 글
[WinAPI] 키 입력 관리 (0) | 2022.11.15 |
---|---|
[WinAPI] DC, BITMAP, 더블버퍼링 (0) | 2022.11.15 |
[WinAPI] 윈도우 크기 지정 (0) | 2022.11.15 |
[WinAPI] 그리기 (0) | 2022.11.13 |
[WinAPI] Win32API 기본 (0) | 2022.11.13 |