U E D R , A S I H C RSS

5인용C++스터디/멀티미디어


    • ?
    • ?

1.



1-1) PlaySound

MFC는 멀미디 . Win32 API 미디 MFC 만들 .
는 API를 보.

~cpp 
BOOL PlaySound(LPCSTR pszSound, HMODULE hmod, DWORD fdwSound);

pszSound : . .

hmod : 리 는 Wave 데, 는 NULL .

fdwSound : . , . .

- SND_FILENAME : pszSound는 .
- SND_ASYNC : . .
- SND_LOOP : . SND_ASYNC .
- SND_SYNC : 동 . 는 리 .

) AppWizard Sound SDI 를 만.
WM_LBUTTONDOWN메 들러를 만들 OnLButtonDown 들러 .


~cpp 
#include "mmsystem.h"
void CSoundView::.....
{
	PlaySound("Battle.wav", NULL, SND_SYNC);

	CView:....
}
PlaySound 면 mmsystem.h include ,
Project/ Settings/Link winmm.lib를 링 .

르면 . Battle.wav .

1-2)

를 보면 PlaySound 는 리 . 런 방 .
PlaySound .

는 SND_LOOP , WM_RBUTTONDOWN 메 들러 만들.


~cpp 
void CSoundView::OnLB.........
{
	PlaySound("Battle.wav", NULL, SND_ASYNC | SND_LOOP);

	CView:....
}

void CSoundView::OnRB......
{
	PlaySound(NULL, NULL, 0);

	CView:....
}

SND_LOOP 는 등 . PlaySound 를 NULL . 따, 르면 . SND_LOOP SND_ASYNC . 만 면 무 .

1-3) 리 Wave

느리. 따 는 방 .

Battle.wav .
메뉴 Import 메뉴 는 Wave . 러면 IDR_WAVE1는 ID .
PlaySound SND_RESOURCE ID를 . 는 리 는데 MFCAfxGetInstanceHandle() . .


~cpp 
void CSoundView::OnLButtonDown(UINT nFlags, CPoint point)
{
	PlaySound(MAKEINTRESOURCE(IDR_WAVE1), AfxGetInstanceHandle(), SND_RESOURCE | SND_ASYNC);
	CView:OnLButtonDown(nFlags, point);
}
wav Battle.wav .

1-4) MCI (Media Control Interface)

PlaySound는 메모리 1-2 , Wave, .
MCI는 멀미디 독립 브러리. PlaySound 만, 더 복.


Upload:SoundMwm.zip



2. 동


2-1) PlayAVI

MCI를 면 동 . AppWizard PlayAVI는 SDI 를 만들 WM_LBUTTONDOWN 메 들러 WM_DESTROY 메 들러를 .


~cpp 
HWND hWndAVI=0;
void CPlayAVIView::OnLButtonDown...
{
	if(hWndAVI) {
	MCIWndClose(hWndAVI);
	MCIWndDestroy(hWndAVI);
	hWndAVI=0;
	}
	hWndAVI=MCIWndCreate(this->m_hWnd, AfxGetInstanceHandle(), 0, "cf3.avi");
	if(hWndAVI) {
	MCIWndPlay(hWndAVI);
	}
	CView::OnLButtonDown(nFlags, point);
}

void CPlayAVIView::OnDestroy()
{
	CView::OnDestroy();
	MCIWndDestroy(hWndAVI);
}

는 Video fot window 브러리를 vfw.h를 .


~cpp 
#include "PlayAVIDoc.h"
#include "PlayAVIView.h"
#include <vfw.h>

브러리를 Project/Settings/Link vfw32.lib를 . .

MCIWnd 는 마 눌르면 만들. hWndAVI 면 먼 MCIWnd . MCIWnd를 만MCIWndCreate .

~cpp 
HWND MCIWndCreate(HWND hwndParent, HINSTANCE hinstance, DWORD dwStyle, LPSTR szFile);

hWndParent: 부모. NULL , .
hInstance: MCIWnd .
dwStyle: MCIWnd, 동 ().
szFile: MCIWnd , 는 AVI .

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:18
Processing time 0.0226 sec