<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=5%EC%9D%B8%EC%9A%A9C%2B%2B%EC%8A%A4%ED%84%B0%EB%94%94%2F%EB%A9%80%ED%8B%B0%EB%AF%B8%EB%94%94%EC%96%B4</id>
	<title>5인용C++스터디/멀티미디어 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=5%EC%9D%B8%EC%9A%A9C%2B%2B%EC%8A%A4%ED%84%B0%EB%94%94%2F%EB%A9%80%ED%8B%B0%EB%AF%B8%EB%94%94%EC%96%B4"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=5%EC%9D%B8%EC%9A%A9C%2B%2B%EC%8A%A4%ED%84%B0%EB%94%94/%EB%A9%80%ED%8B%B0%EB%AF%B8%EB%94%94%EC%96%B4&amp;action=history"/>
	<updated>2026-05-15T16:19:17Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=5%EC%9D%B8%EC%9A%A9C%2B%2B%EC%8A%A4%ED%84%B0%EB%94%94/%EB%A9%80%ED%8B%B0%EB%AF%B8%EB%94%94%EC%96%B4&amp;diff=83991&amp;oldid=prev</id>
		<title>Maintenance script: Repair batch-0001 pages from live compare</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=5%EC%9D%B8%EC%9A%A9C%2B%2B%EC%8A%A4%ED%84%B0%EB%94%94/%EB%A9%80%ED%8B%B0%EB%AF%B8%EB%94%94%EC%96%B4&amp;diff=83991&amp;oldid=prev"/>
		<updated>2026-03-26T23:55:59Z</updated>

		<summary type="html">&lt;p&gt;Repair batch-0001 pages from live compare&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 23:55, 26 March 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l86&quot;&gt;Line 86:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 86:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[:File:&lt;/del&gt;SoundMwm.zip&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|SoundMwm.zip]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| SoundMwm.zip&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l137&quot;&gt;Line 137:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 137:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[:File:&lt;/del&gt;PlayAviMwm.zip&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|PlayAviMwm.zip]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| PlayAviMwm.zip&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=5%EC%9D%B8%EC%9A%A9C%2B%2B%EC%8A%A4%ED%84%B0%EB%94%94/%EB%A9%80%ED%8B%B0%EB%AF%B8%EB%94%94%EC%96%B4&amp;diff=26818&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:22, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=5%EC%9D%B8%EC%9A%A9C%2B%2B%EC%8A%A4%ED%84%B0%EB%94%94/%EB%A9%80%ED%8B%B0%EB%AF%B8%EB%94%94%EC%96%B4&amp;diff=26818&amp;oldid=prev"/>
		<updated>2021-02-07T05:22:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;* 발표에 꼭 들어가야 할 것들&lt;br /&gt;
** 프로그램에서 사운드 재생은 어떻게 하는가?&lt;br /&gt;
** 프로그램에서 동영상 재생은 어떻게 하는가?&lt;br /&gt;
&lt;br /&gt;
=== 1. 사운드 연주 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 1-1) PlaySound&lt;br /&gt;
&lt;br /&gt;
MFC는 멀티미디어를 위한 별도의 클래스를 제공하지 않는다. Win32 API함수 차원에서 멀티미디어를 지원하기 때문에 MFC에서는 별도의 클래스로 만들어 놓지 않은 것이다.&lt;br /&gt;
우선 사운드를 연주하는 API함수를 보자.&lt;br /&gt;
&lt;br /&gt;
 BOOL PlaySound(LPCSTR pszSound, HMODULE hmod, DWORD fdwSound);&lt;br /&gt;
&lt;br /&gt;
pszSound : 연주할 사운드 파일의 이름. 파일의 경로를 넣을 더 수도 있다.&lt;br /&gt;
&lt;br /&gt;
hmod : 리소스에 있는 Wave파일을 연주할 경우 리소스를 가진 실행파일의 핸들인데, 그 외의 경우는 NULL로 준다.&lt;br /&gt;
&lt;br /&gt;
fdwSound : 사운드의 연주방식과 연주할 사운드의 종류를 정의하는 플래그이다. 이것에 따라 첫 번째, 두 번째 인수의 해석 방식이 달라진다. 여러 플래그 중 몇 가지만 알아보자.&lt;br /&gt;
&lt;br /&gt;
* SND_FILENAME : 첫 번째 인수인 pszSound는 사운드 파일의 이름이다. &lt;br /&gt;
* SND_ASYNC : 비동기화된 연수를 한다. 연주시작 후 바로 리턴하므로 다른 작업을 바로 시작할 수 있다.&lt;br /&gt;
* SND_LOOP : 지정한 사운드를 반복적으로 계속 연주한다. 이 플래그는 반드시 SND_ASYNC와 함께 사용되어야 한다.&lt;br /&gt;
* SND_SYNC : 동기화된 연주를 한다. 사운드 파일의 연주가 완전히 끝나기 전에는 리턴하지 않는다.&lt;br /&gt;
&lt;br /&gt;
예제) AppWizard를 사용하여 Sound라는 이름으로 SDI 프로젝트를 만든다. &lt;br /&gt;
뷰에 WM_LBUTTONDOWN메시지의 핸들러를 만들고 OnLButtonDown 핸들러에 다음과 같이 코드를 작성한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;mmsystem.h&amp;quot;&lt;br /&gt;
 void CSoundView::.....&lt;br /&gt;
 {&lt;br /&gt;
 	PlaySound(&amp;quot;Battle.wav&amp;quot;, NULL, SND_SYNC);&lt;br /&gt;
 &lt;br /&gt;
 	CView:....&lt;br /&gt;
 }&lt;br /&gt;
 PlaySound 함수를 사용하려면 mmsystem.h 파일을 먼저 include 해주어야 하고,&lt;br /&gt;
 Project/ Settings/Link 탭에서 winmm.lib를 링크해 주어야 한다.&lt;br /&gt;
&lt;br /&gt;
그 후 컴파일하고 실행한 후 작업영역을 왼쪽 마우스 버튼으로 누르면 소리가 날 것이다. 시스템에 사운드카드가 장착되어 있어야 하며 같은 디렉토리에 Battle.wav라는 파일이 있어야 할 것이다.&lt;br /&gt;
&lt;br /&gt;
1-2) 비동기 연주&lt;br /&gt;
&lt;br /&gt;
 앞서 만든 예제를 보면 PlaySound 함수는 사운드 파일 연주가 완전히 종료되기 전에는 리턴하지 않으므로 연주중인 동안은 어떤 일도 할 수 없다. 이런 방법을 동기화 방식이라고 한다.&lt;br /&gt;
 반대로 PlaySound함수가 연주를 시작해 놓고 곧바로 리턴하는 비동기 연주 방식이 있다.&lt;br /&gt;
&lt;br /&gt;
 이번에는 SND_LOOP 플래그를 사용하여 작성해 보고, WM_RBUTTONDOWN 메시지의 핸들러도 같이 만들어보자.&lt;br /&gt;
&lt;br /&gt;
 void CSoundView::OnLB.........&lt;br /&gt;
 {&lt;br /&gt;
 	PlaySound(&amp;quot;Battle.wav&amp;quot;, NULL, SND_ASYNC | SND_LOOP);&lt;br /&gt;
 &lt;br /&gt;
 	CView:....&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void CSoundView::OnRB......&lt;br /&gt;
 {&lt;br /&gt;
 	PlaySound(NULL, NULL, 0);&lt;br /&gt;
 &lt;br /&gt;
 	CView:....&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 SND_LOOP 플래그를 지정하면 반복적인 효과음이나 배경음악을 연주하는 등의 설정을 할 수 있을 것이다. 연주를 중지시키려면 PlaySound 함수의 첫 번째 인수를 NULL로 하여 다시 호출해 주면 된다. 따라서, 오른쪽 마우스 버튼을 누르면 연주가 중지될 것이다. 주의할 것은 SND_LOOP 플래그는 반드시 SND_ASYNC와 함께 사용해야 한다. 만약 동기화 연주방식으로 반복연주를 하면 무한 루프로 빠져버릴 위험이 있다.&lt;br /&gt;
&lt;br /&gt;
1-3) 리소스의 Wave 연주&lt;br /&gt;
&lt;br /&gt;
 사운드 파일을 연주하는 것은 사용하기는 간단하지만 연주할 때마다 디스크에서 사운드 파일을 읽어와야 하므로 반응 속도가 느리다. 따라서 이 경우에는 사운드 파일을 리소스에 포함시켜 놓고 리소스에서 읽어서 연주하는 방법으로 하는 것이 좋을 것이다.&lt;br /&gt;
&lt;br /&gt;
 앞에서 만든 예제를 수정해서 Battle.wav 파일을 실행파일에 합쳐보자.&lt;br /&gt;
 리소스 뷰의 팝업메뉴에서 Import 메뉴항목을 선택하고 리소스에 포함시키고자 하는 Wave 파일을 선택한다. 그러면 IDR_WAVE1이라는 ID로 리소스에 삽입될 것이다.&lt;br /&gt;
 리소스에 포함된 사운드를 연주하려면 PlaySound의 세 번째 인수에 SND_RESOURCE 플래그를 주고 첫 번째 인수에 리소스의 ID를 준다. 두 번째 인수에는 리소스를 가진 실행파일의 인스턴스 핸들을 주어야 하는데 MFC에서는 AfxGetInstanceHandle() 전역함수로 인스턴스 핸들을 구할 수 있다. 다음과 같이 코드를 작성해 보자.&lt;br /&gt;
&lt;br /&gt;
 void CSoundView::OnLButtonDown(UINT nFlags, CPoint point)&lt;br /&gt;
 {&lt;br /&gt;
 	PlaySound(MAKEINTRESOURCE(IDR_WAVE1), AfxGetInstanceHandle(), SND_RESOURCE | SND_ASYNC);&lt;br /&gt;
 	CView:OnLButtonDown(nFlags, point);&lt;br /&gt;
 }&lt;br /&gt;
 이렇게 하면 실행파일 속에 wav파일이 포함되어 Battle.wav파일이 없어도 연주할수 있게 된다.&lt;br /&gt;
&lt;br /&gt;
1-4) MCI (Media Control Interface)&lt;br /&gt;
&lt;br /&gt;
 PlaySound함수는 메모리 크기의 제한을 받아서 1-2분 정도의 사운드 밖에 낼 수 없다는 점, Wave형태만 지원한다는 점, 연주과정에 사용자가 개입할 수 없다는 단점이 있다.&lt;br /&gt;
 MCI는 멀티미디어 요소에 대한 지원을 장치독립적으로 제공하는 일종의 라이브러리이다. 이것은 PlaySound 함수가 하지 못하는 여러 가지 일을 할 수 있지만, 사용 방법은 훨씬 더 복잡하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[:File:SoundMwm.zip|SoundMwm.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 2. 동영상 재생 ===&lt;br /&gt;
&lt;br /&gt;
 2-1) PlayAVI&lt;br /&gt;
&lt;br /&gt;
 MCI를 사용하면 동영상도 아주 쉽게 재생할 수 있다. AppWizard로 PlayAVI라는 SDI 프로젝트를 만들고 WM_LBUTTONDOWN 메시지의 핸들러와 WM_DESTROY 메시지의 핸들러를 다음과 같이 작성한다.&lt;br /&gt;
&lt;br /&gt;
 HWND hWndAVI=0;&lt;br /&gt;
 void CPlayAVIView::OnLButtonDown...&lt;br /&gt;
 {&lt;br /&gt;
 	if(hWndAVI) {&lt;br /&gt;
 	MCIWndClose(hWndAVI);&lt;br /&gt;
 	MCIWndDestroy(hWndAVI);&lt;br /&gt;
 	hWndAVI=0;&lt;br /&gt;
 	}&lt;br /&gt;
 	hWndAVI=MCIWndCreate(this-&amp;amp;gt;m_hWnd, AfxGetInstanceHandle(), 0, &amp;quot;cf3.avi&amp;quot;);&lt;br /&gt;
 	if(hWndAVI) {&lt;br /&gt;
 	MCIWndPlay(hWndAVI);&lt;br /&gt;
 	}&lt;br /&gt;
 	CView::OnLButtonDown(nFlags, point);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void CPlayAVIView::OnDestroy()&lt;br /&gt;
 {&lt;br /&gt;
 	CView::OnDestroy();&lt;br /&gt;
 	MCIWndDestroy(hWndAVI);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 동영상 연주는 Video fot window 라이브러리를 사용하므로 뷰에서 vfw.h를 인클루드 해 주어야 한다.&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;PlayAVIDoc.h&amp;quot;&lt;br /&gt;
 #include &amp;quot;PlayAVIView.h&amp;quot;&lt;br /&gt;
 #include &amp;amp;lt;vfw.h&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 또한 프로젝트에서 이 라이브러리를 사용할 수 있도록 Project/Settings/Link 탭에 vfw32.lib를 추가한다. 그리고 동영상 파일을 프로젝트 디렉토리에 넣어두면 된다.&lt;br /&gt;
&lt;br /&gt;
MCIWnd 윈도우는 마우스 왼쪽 버튼을 눌르면 만들어진다. 그 전에 hWndAVI가 유효하면 먼저 MCIWnd를 닫는 작업부터 해주고 있다. MCIWnd를 만드는 함수는 MCIWndCreate 함수이다.&lt;br /&gt;
&lt;br /&gt;
 HWND MCIWndCreate(HWND hwndParent, HINSTANCE hinstance, DWORD dwStyle, LPSTR szFile);&lt;br /&gt;
&lt;br /&gt;
hWndParent: 부모윈도우를 지정한다. NULL일 경우, 별도의 윈도우로 열린다.&lt;br /&gt;
hInstance: MCIWnd롤 사용하는 인스턴스 핸들을 지정한다.&lt;br /&gt;
dwStyle: MCIWnd의 모양, 동작방식등을 설정하는 스타일(플래그)이다.&lt;br /&gt;
szFile: MCIWnd생성시 오픈할 장치, 또는 AVI파일을 지정한다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[:File:PlayAviMwm.zip|PlayAviMwm.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>