¿Àµð¿À Ãâ·ÂÀÌ °¡´ÉÇØÁ³À¸´Ï º¼·ý Á¶Àýµµ °¡´ÉÇØ¾ß ÇÑ´Ù. º¼·ýÀ» Á¶Á¤ÇÏ´Â
ÀåÄ¡´Â ¿©·¯ °¡Áö°¡ ÀÖ´Ù. Å°º¸µå°¡ ±âº»ÀÌÁö¸¸ ÄÁÆ®·ÑÀ» ÅëÇØ Á¶Á¤ÇÒ ¼öµµ ÀÖ°í ¸¶¿ì½ºÀÇ ÈÙÀ» ±¼¸± ¼öµµ
ÀÖ´Ù. ¶Ç Áï½Ã ¼Ò¸®¸¦ ²ô´Â ±â´Éµµ ÇÊ¿äÇÏ´Ù. À½¼Ò°Å´Â ÀÏÁ¾ÀÇ
»óÅÂÀ̸ç ÀÌÀü »óÅ·Π½Å¼ÓÇÏ°Ô µ¹¾Æ°¡¾ß ÇÏ´Ï º¯¼ö°¡ ÇÊ¿äÇÏ´Ù.
bool isMute;
DWORD oldVolume;
isMute´Â À½¼Ò°Å »óŶó´Â ¶æÀÌ°í oldVolume´Â ÀÌÀüÀÇ º¼·ý°ªÀÌ´Ù. ÇöÀç º¼·ý°ªÀº »ç¿îµå Ä«µå°¡
°¡Áö°í ÀÖ¾î µû·Î º¯¼ö¿¡ ÀúÀåÇÒ ÇÊ¿ä ¾ø´Ù. ÆгÎÀÇ Æ®·¢¹Ù´Â ÇöÀç º¼·ýÀ» º¸¿© ÁÖ°í ¶Ç º¼·ýÀ» Á¶Á¤Çϱ⵵
ÇÑ´Ù. ÃÖÃÊ ÇöÀç º¼·ýÀ» º¸¿© ÁÖ°í º¼·ýÀÇ ´Ü°è¸¦ ¼³Á¤ÇÑ´Ù.
LRESULT CALLBACK PanelWndProc(HWND hWnd, UINT
iMessage, WPARAM wParam, LPARAM lParam) {
switch
(iMessage) {
case
WM_CREATE:
....
SendMessage(hVolume,
TBM_SETRANGE, FALSE, MAKELPARAM(0, 100));
DWORD
voldevice, vol;
waveOutGetVolume(wa.hWaveDev,
&voldevice);
vol
= DWORD(LOWORD(voldevice) * 100.0 / 0xffff + 0.5);
SendMessage(hVolume,
TBM_SETPOS, TRUE, vol);
Waveform API´Â ÃÖ´ë
65535(0xffff) ´Ü°èÀÇ º¼·ýÀ» Áö¿øÇÏÁö¸¸ ÀÌ·¸°Ô±îÁö Çػ󵵰¡ ³ôÀ» ÇÊ¿ä´Â ¾ø´Ù. ¹éºÐÀ²
Á¤µµ¸é ÃæºÐÇÏ´Ù. ±×·¡¼ Æ®·¢¹ÙÀÇ ¹üÀ§¸¦ 0 ~ 100À¸·Î
¼³Á¤Çß´Ù. ÇöÀç º¼·ýÀº waveOutGetVolume ÇÔ¼ö·Î
Á¶»çÇϴµ¥ »óÇÏÀ§ ¿öµå¿¡ ÁÂ, ¿ì º¼·ý°ªÀ» µ¹·ÁÁØ´Ù.
voldevice´Â ÀåÄ¡ÀÇ º¼·ý°ªÀÌ´Ù. Á¿츦 ±»ÀÌ ±¸ºÐÇÒ ÇÊ¿ä´Â ¾ø°í ÁÂ¿ì º¼·ýÀ» ´Ù¸£°Ô Çؼ µè´Â »ç¶÷µµ µå¹°´Ù.
°¡´ÉÀº ÇÏÁö¸¸ µÎ °ªÀ» µû·Î ´Ù·ê ÇÊ¿ä ¾øÀ¸´Ï ÇÏÀ§ ¿öµåÀÇ ¿ÞÂÊ º¼·ý¸¸ ÃëÇÑ´Ù. ÀÌ °ªÀ»
¹éºÐÀ²·Î ¹Ù²Ù¾î vol º¯¼ö¿¡ ´ëÀÔÇ쵂 ¹Ý¿Ã¸² 󸮰¡ ÇÊ¿äÇÏ´Ù. ¹éºÐÀ²ÀÇ
º¼·ý°ªÀ» ÀúÀåÇÏ´Â º°µµÀÇ º¯¼ö°¡ ¾ø°í Ç×»ó ÀåÄ¡ÀÇ º¼·ý°ªÀ» ±âÁØÀ¸·Î Çϱ⠶§¹®¿¡ µÎ °ªÀ» »óÈ£ º¯È¯ÇÏ¸ç »ç¿ëÇØ¾ß ÇÑ´Ù. À̶§ Á¤¼ö ³ª´°¼ÀÀÇ ¿ÀÂ÷°¡ ¹ß»ýÇϴµ¥ °£´ÜÇÏ°Ô ´ÙÀ½°ú °°ÀÌ ¼³¸íÇÒ ¼ö ÀÖ´Ù.
65536 ¹üÀ§ÀÇ 10% °ª = 65536 / 10 = 6553
6553ÀÇ ¹éºÐÀ²°ª = 6553 *
100 / 65536 = 9%
ÀåÄ¡¿¡°Ô "10% º¼·ýÀ¸·Î ¼³Á¤ÇØ" ¶ó°í Çϸé ÃÖ´ë¹üÀ§¸¦ 10À¸·Î ³ª´« 6553À¸·Î ¼³Á¤Çϸç À̶§ 0.6Àº ¹ö·ÁÁø´Ù. ÀÌ Á¤µµ´Â ¹ö·Áµµ Á¤È®µµ»óÀÇ ¹®Á¦´Â ¾ø´Ù. ±×·¯³ª ÀåÄ¡¿¡°Ô "³Ê Áö±Ý º¼·ýÀÌ ¸î %¾ß"
¶ó°í ¹°À¸¸é 9%¶ó°í ÀÀ´äÇÑ´Ù. Á¤È®ÇÑ ¿¬»ê
°á°ú´Â 9.99984ÀÌÁö¸¸ Á¤¼ö·Î ij½ºÆÃÇϸé 9°¡ µÇ¾î ¹ö¸°´Ù. ÀÌ·± ¿ÀÂ÷¸¦ ¹æÁöÇϱâ À§ÇØ ¼Ò¼öÁ¡ À§Ä¡¿¡¼ ¹Ý¿Ã¸² ó¸®ÇÑ´Ù. º¼·ýÀ»
Á¶Á¤ÇÏ´Â ´ÙÀ½ µÎ ÇÔ¼ö¸¦ ÀÛ¼ºÇÑ´Ù.
void AdjustVolumeTo(int vol) {
int
voldevice;
if
(isMute) {
isMute
= false;
}
int
tvol = max(min(vol, 100), 0);
voldevice
= tvol * 0xffff / 100;
waveOutSetVolume(wa.hWaveDev,
MAKELONG(voldevice, voldevice));
SendMessage(hVolume,
TBM_SETPOS, TRUE, tvol);
}
void AdjustVolume(bool up) {
DWORD
voldevice, vol;
if
(isMute) {
vol
= oldVolume;
}
else {
waveOutGetVolume(wa.hWaveDev,
&voldevice);
vol
= DWORD(LOWORD(voldevice) * 100.0 / 0xffff + 0.5);
}
AdjustVolumeTo(vol
+ (up ? 10 : -10));
}
AdjustVolumeTo ÇÔ¼ö´Â Àý´ë º¼·ýÀ¸·Î Á¶Á¤ÇÑ´Ù. À½¼Ò°Å »óÅÂÀ̸é Ç®°í ÇØ´ç º¼·ýÀ¸·Î ÁöÁ¤ÇÑ´Ù. º¼·ý º¯°æÀ» Áö½ÃÇß´Ù´Â
°ÍÀº À½¼Ò°Å »óŸ¦ ÇØÁ¦ÇÑ´Ù´Â Àǹ̸¦ ³»Æ÷ÇϹǷΠǮ¾îµµ ¹«¹æÇÏ´Ù. º¼·ý°ªÀÌ ¹éºÐÀ² ¹üÀ§¸¦ ³Ñ¾î°¡Áö ¾Êµµ·Ï
Á¶Á¤ÇÑ´Ù. Á¶Á¤µÈ °ªÀ» ÀåÄ¡ º¼·ý°ªÀ¸·Î ¹Ù²Ù¾î ÁÂ¿ì º¼·ýÀ» °°ÀÌ ¹Ù²Û´Ù. Æ®·¢¹Ù¿¡ ÇöÀç º¼·ýÀ» Ç¥½ÃÇÑ´Ù.
AdjustVolume ÇÔ¼ö´Â ÇöÀç º¼·ý¿¡¼ ÇѴܰ辿 À§ ¶Ç´Â ¾Æ·¡·Î
»ó´ëÀûÀÎ º¼·ýÀ» Á¶Á¤ÇÑ´Ù. À½¼Ò°Å »óÅÂÀ̸é ÀÌÀüÀÇ º¼·ýÀ¸·Î µ¹¾Æ°£´Ù.
ÀåÄ¡ÀÇ ÇöÀç º¼·ýÀ» ±¸ÇÑ ÈÄ ¹æÇâ¿¡ µû¶ó 10 ¶Ç´Â
-10¸¸Å Áõ°¨½ÃŲ´Ù. 10´Ü°è¸é ÇØ»ó·ÂÀÌ ³·Áö¸¸ ¸¶½ºÅÍ º¼·ýµµ ÀÖ¾î ºÎÁ·ÇÏÁö´Â ¾Ê´Ù. °áÁ¤ÇÑ º¼·ý°ªÀ» AdjustVolumeTo ÇÔ¼ö·Î Àü´ÞÇϸé À½¼Ò°Åµµ
Ç®¸®°í º¼·ýµµ ¼³Á¤µÈ´Ù.
º¼·ýÀ» Á¶Á¤ÇÏ´Â ±â´ÉÀº ´Ù ¸¸µé¾ú°í ÀÌÁ¦ Àû´çÇÑ ¶§¿¡ ÀÌ ÇÔ¼ö¸¸ È£ÃâÇÏ¸é µÈ´Ù.
Å°º¸µå ÀÔ·ÂÀ» ¹ÞÀ¸·Á¸é ¾×¼¿·¯·¹ÀÌÅÍ°¡ ÇÊ¿äÇÏ´Ù. WM_KEYDOWNÀ¸·Îµµ Å° ÀÔ·ÂÀ» ¹ÞÀ»
¼ö ÀÖÁö¸¸ Æ÷Ä¿½º 󸮰¡ °ñÄ¡ ¾ÆÇÁ´Ù. ¾ÕÀ¸·Î »ç¿ëÇÒ ¾×¼¿·¯·¹ÀÌÅ͸¦ ´Ù Ãß°¡ÇÑ´Ù.
enum eAccel {
A_SPACE,
A_LEFT, A_RIGHT, A_UP, A_DOWN, A_PRIOR, A_NEXT, A_BACK,
A_A,
A_Q, A_M, A_W, A_S, A_RETURN, A_ESC
};
ACCEL arAccel[] = {
{
FVIRTKEY, VK_SPACE, A_SPACE },
{
FVIRTKEY, VK_LEFT, A_LEFT },
{
FVIRTKEY | FCONTROL, VK_LEFT, A_LEFT },
{
FVIRTKEY | FSHIFT, VK_LEFT, A_LEFT },
{
FVIRTKEY, VK_RIGHT, A_RIGHT },
{
FVIRTKEY | FCONTROL, VK_RIGHT, A_RIGHT },
{
FVIRTKEY | FSHIFT, VK_RIGHT, A_RIGHT },
{
FVIRTKEY, VK_UP, A_UP },
{
FVIRTKEY, VK_DOWN, A_DOWN },
{
FVIRTKEY, VK_PRIOR, A_PRIOR },
{
FVIRTKEY, VK_NEXT, A_NEXT },
{
FVIRTKEY, VK_BACK, A_BACK },
{
FVIRTKEY, 'Q', A_Q },
{
FVIRTKEY, 'A', A_A },
{
FVIRTKEY, 'W', A_W },
{
FVIRTKEY, 'S', A_S },
{
FVIRTKEY, 'M', A_M },
{
FVIRTKEY, VK_RETURN, A_RETURN },
{
FVIRTKEY, VK_ESCAPE, A_ESC },
};
#define ARSIZE(ar) (sizeof(ar)/sizeof(ar[0]))
ARSIZE ¸ÅÅ©·Î´Â ¹è¿ÀÇ ¿ä¼Ò °³¼ö¸¦ Á¶»çÇÑ´Ù. WinMain¿¡¼ ¾×¼¿·¯·¹ÀÌÅÍ Å×À̺íÀ» »ý¼ºÇÏ°í ¸Þ½ÃÁö ·çÇÁ¿¡¼ Á¡°ËÇÑ´Ù.
HACCEL
hAccel = CreateAcceleratorTable(arAccel, ARSIZE(arAccel));
while
(GetMessage(&Message, NULL, 0, 0)) {
if
(!TranslateAccelerator(hWnd, hAccel, &Message)) {
TranslateMessage(&Message);
DispatchMessage(&Message);
}
}
return
(int)Message.wParam;
}
¸®¼Ò½º¸¦ ¾²Áö ¾Ê´Â ÀÌÀ¯´Â ÀÌ ÇÁ·ÎÁ§Æ®°¡ ±³À°¿ëÀ̱⠶§¹®ÀÌ´Ù. ¹èÆ÷ÇÑ
¼Ò½º¸¦ º¹»çÇؼ ¹Ù·Î ºÙ¿© ³Ö°í Å×½ºÆ®ÇØ º¼ ¼ö ÀÖ¾î¾ß Çϴµ¥ ¸®¼Ò½º´Â ¸¶¿ì½º·Î ÆíÁýÇØ¾ß ÇϹǷΠ±×´ë·Î µû¶ó Çϱ⠾î·Æ°í ±ÍÂú´Ù. ±×¸®°í ºñÁÖ¾ó ½ºÆ©µð¿ÀÀÇ ¸®¼Ò½º ID °ü¸®°¡ °³ÆÇÀ̶ó ½Ç½À¿ëÀ¸·Î
ºÎÀûÇÕÇÏ´Ù.
Å°º¸µåÀÇ ¾Æ·¡, À§ Å°·Î º¼·ýÀ» »ó´ëÀûÀ¸·Î Áõ°¡½ÃÅ°°í M Å°·Î À½¼Ò°Å¸¦ Åä±ÛÇÑ´Ù. À½À» ¼Ò°ÅÇÑ´Ù°í Çؼ 0À¸·Î ¸¸µé¾î ¹ö¸®¸é ¾ÈµÈ´Ù. ÀÌÀü º¼·ý°ªÀ» oldVolume¿¡ ÀúÀåÇØ µÎ¾î¾ß ¿ø·¡ º¼·ýÀ¸·Î µ¹¾Æ°¥ ¼ö ÀÖ´Ù.
case
WM_COMMAND:
switch
(LOWORD(wParam)) {
case
A_UP:
if
(GetFocus() == hList) {
SendMessage(hList,
WM_KEYDOWN, VK_UP, 0);
}
else {
AdjustVolume(true);
}
break;
case
A_DOWN:
if
(GetFocus() == hList) {
SendMessage(hList,
WM_KEYDOWN, VK_DOWN, 0);
}
else {
AdjustVolume(false);
}
break;
case
A_M:
DWORD
voldevice;
isMute
= !isMute;
if
(isMute) {
waveOutGetVolume(wa.hWaveDev,
&voldevice);
oldVolume
= DWORD(LOWORD(voldevice) * 100.0 / 0xffff + 0.5);
AdjustVolumeTo(0);
isMute
= true;
}
else {
AdjustVolumeTo(oldVolume);
}
break;
}
return
0;
Æ®·¢¹Ù´Â ÇöÀç º¼·ýÀ» º¸¿© Áֱ⵵ ÇÏ°í µå·¡±×Çؼ Á¶Á¤ÇÏ´Â ÀåÄ¡À̱⵵ ÇÏ´Ù. »ç¿ëÀÚ°¡
Æ®·¢¹Ù¸¦ µå·¡±×Çϸé ÇöÀç À§Ä¡°ªÀ¸·Î º¼·ýÀ» ¼³Á¤ÇÑ´Ù.
LRESULT CALLBACK PanelWndProc(HWND hWnd, UINT
iMessage, WPARAM wParam, LPARAM lParam) {
case
WM_HSCROLL:
if
((HWND)lParam == hVolume) {
int
vol = (int)SendMessage(hVolume, TBM_GETPOS, 0, 0);
AdjustVolumeTo(vol);
}
return
0;
´õ Æí¸®ÇÑ ¹æ¹ýÀ¸·Î ¸¶¿ì½º ÈÙÀ» »ç¿ëÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù. ÈÙÀ» ±¼¸®¸é
±¼·¯°£ ¹æÇâ¿¡ µû¶ó º¼·ýÀ» Áõ°¡ ¶Ç´Â °¨¼Ò½ÃŲ´Ù. ±¼·¯°£ °Å¸®±îÁö °¨¾ÈÇؼ Á» ´õ ºü¸£°Ô Á¶Á¤ÇÒ ¼ö
ÀÖÁö¸¸ ±»ÀÌ ±×·¸°Ô±îÁö ÇÒ ÇÊ¿ä´Â ¾ø´Ù.
LRESULT CALLBACK StageWndProc(HWND hWnd, UINT
iMessage, WPARAM wParam, LPARAM lParam) {
....
case
WM_MOUSEWHEEL:
AdjustVolume((short)HIWORD(wParam)
> 0);
return
0;
º¸Åë ¿µ»ó À§¿¡¼ ÈÙÀ» ±¼¸®¹Ç·Î ½ºÅ×ÀÌÁö°¡ ÈÙ ¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â °ÍÀÌ ÁÁ´Ù. ±×·¡¾ß
Àüü È¸é »óÅ¿¡¼µµ ÈÙ·Î º¼·ýÀ» Á¶Á¤ÇÒ ¼ö ÀÖ´Ù. Å°º¸µå³ª ¸¶¿ì½º³ª Æ®·¢¹Ù, ¾î¶² ¹æ¹ýÀ¸·Îµç º¼·ý Á¶Á¤ÀÌ Àß µÈ´Ù. ±×·¯³ª ÇöÀç º¼·ý°ªÀÌ º¸ÀÌÁö
¾Ê¾Æ ºÒÆíÇѵ¥ ¿µ»ó À§¿¡ ¿À¹ö·¹ÀÌ·Î ÀÏÁ¤ ½Ã°£µ¿¾È Ãâ·ÂÇØ º¸ÀÚ. ´ÙÀ½ º¯¼ö¸¦ Ãß°¡ÇÑ´Ù.
TCHAR overlayMsg[128];
UINT overlayMsgHpos;
UINT overlayMsgVpos;
ULONGLONG overlayMsgTimout;
¸Þ½ÃÁö ³»¿ë°ú ¼öÁ÷, ¼öÆò Á¤·Ä À§Ä¡, ¸Þ½ÃÁö Ãâ·Â ½Ã°£À» ±â¾ïÇÏ´Â º¯¼öÀÌ¸ç ´ÙÀ½ ÇÔ¼ö·Î ¼³Á¤ÇÑ´Ù.
void SetOverlayMsg(LPCTSTR msg, UINT hpos = 1,
UINT vpos = 0, int timeout = 2000);
void SetOverlayMsg(LPCTSTR msg, UINT hpos, UINT
vpos, int timeout) {
lstrcpy(overlayMsg,
msg);
overlayMsgHpos
= hpos;
overlayMsgVpos
= vpos;
overlayMsgTimout
= GetTickCount64() + timeout;
}
¿øÇü¿¡ À§ÂÊ ¼öÆò Áß¾Ó¿¡ 2ÃÊ°£ Ãâ·ÂÇÏ´Â °ÍÀ¸·Î µðÆúÆ®°ªÀ» ÁöÁ¤Çß´Ù. ŸÀӾƿô°ªÀ» Àμö ¹Þ¾Æ ³¡³¾ ½Ã°£À» ¹Ì¸® °è»êÇØ µÐ´Ù. ´ÙÀ½ ÇÔ¼ö·Î
Ãâ·ÂÇÑ´Ù.
void DrawOverlayMsg(HDC hdc, AVFrame* pFrame) {
int
x = 0, y = 0;
UINT
Align;
COLORREF
oldColor;
UINT
oldAlign;
int
oldMode;
Align
= TA_LEFT | TA_TOP;
HFONT
hFont;
HFONT
hOldFont;
hFont
= CreateFont(25, 0, 0, 0, 0, 0, 0, 0, ANSI_CHARSET, 3, 2, 1,
VARIABLE_PITCH
| FF_SWISS, TEXT("Arial"));
switch
(overlayMsgHpos) {
case
0:
x
= 10;
break;
case
1:
x
= pFrame->width / 2;
Align
|= TA_CENTER;
break;
case
2:
x
= pFrame->width - 10;
Align
|= TA_RIGHT;
break;
}
switch
(overlayMsgVpos) {
case
0:
y
= 10;
break;
case
1:
y
= pFrame->height / 2;
break;
case
2:
y
= pFrame->height - 10;
Align
|= TA_BOTTOM;
break;
}
oldMode
= SetBkMode(hdc, TRANSPARENT);
oldColor
= SetTextColor(hdc, RGB(0, 255, 0));
oldAlign
= SetTextAlign(hdc, Align);
hOldFont
= (HFONT)SelectObject(hdc, hFont);
TextOut(hdc,
x, y, overlayMsg, lstrlen(overlayMsg));
SelectObject(hdc,
hOldFont);
SetTextAlign(hdc,
oldAlign);
SetTextColor(hdc,
oldColor);
SetBkMode(hdc,
oldMode);
DeleteObject(hFont);
}
ÁÂÇ¥¿Í Á¤·Ä ¹æ½Ä °è»ê Äڵ尡 Á» ¸¹À» »Ó º¹ÀâÇÏÁö´Â ¾Ê´Ù.
PlayThread¿¡¼ Á¦ÇÑ ½Ã°£ ³»ÀÏ ¶§ ºñÆ®¸Ê Ãâ·Â Á÷Àü¿¡ ¿À¹ö·¹ÀÌ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù. ºñÆ®¸Ê¿¡
»õ°Ü °°ÀÌ Ãâ·ÂÇÏ´Â ¹æ½ÄÀÌ´Ù.
HBITMAP bitmap = CreateBitmap(vFrame.width,
vFrame.height, 1, 32, RGBFrame.data[0]);
OldBitmap = (HBITMAP)SelectObject(MemDC, bitmap);
if (GetTickCount64() < overlayMsgTimout) {
DrawOverlayMsg(MemDC,
&vFrame);
}
BitBlt(hdc, 0, 0, vFrame.width, vFrame.height,
MemDC, 0, 0, SRCCOPY);
SelectObject(MemDC, OldBitmap);
DeleteObject(bitmap);
º¼·ý º¯°æ½Ã ¿À¹ö·¹ÀÌ ¸Þ½ÃÁö¸¦ µî·ÏÇÑ´Ù.
void AdjustVolumeTo(int vol) {
....
TCHAR
msg[128];
wsprintf(msg,
TEXT("Volume : %d%%"), tvol);
SetOverlayMsg(msg);
}
º¼·ýÀ» º¯°æÇÒ ¶§¸¶´Ù 2ÃÊ°£ »ó´Ü Áß¾Ó¿¡ ÇöÀç º¼·ýÀ» Àá½Ã º¸¿© ÁØ´Ù. ¾×¼¿·¯·¹ÀÌÅÍ°¡ µé¾î°¬À¸´Ï Å°º¸µå·Îµµ ¸ñ·Ï »çÀ̸¦ À̵¿ÇÒ ¼ö ÀÖ´Ù. ÄÚµå´Â
ÀÌ¹Ì ÀÛ¼ºµÇ¾î ÀÖ°í PgUp, PgDn Å°¿¡ ´ëÇØ ÇÔ¼ö¸¸ È£ÃâÇÏ¸é µÈ´Ù.
case
A_PRIOR:
if
(arMedia[nowlist].nowsel > 0) {
ChangeMedia(nowlist,
arMedia[nowlist].nowsel - 1);
}
break;
case
A_NEXT:
if
(arMedia[nowlist].nowsel < arMedia[nowlist].num - 1) {
ChangeMedia(nowlist,
arMedia[nowlist].nowsel + 1);
}
break;
¿©·¯ °¡Áö ÆíÀÇ ±â´ÉÀ» ³Ö¾ú´õ´Ï ÀÌÁ¦ Á» ¾µ¸¸ÇÑ ÇÁ·Î±×·¥ÀÌ µÇ¾î °¡´Â °Í °°´Ù.
¼º´ÉÀº ¾ÆÁ÷ ÇÑÂü ¶³¾îÁöÁö¸¸ ¸ð¾çÀÌ °®ÃçÁö´Ï »Ç´Ù±¸´Â Á» ³´Ù. µ¿¿µ»ó ¹Ù²ã °¡¸ç Å×½ºÆ®ÇÒ
¼ö Àִ ȯ°æÀ» °®Ãß¾úÀ¸´Ï ÀÌÁ¦ ¼º´É¿¡ ÁýÁßÇØ º¸ÀÚ.