SoundSet

»ç¿îµå ÀåÄ¡ÀÇ ´Ù¾çÇÑ ¼³Á¤À» º¯°æÇÕ´Ï´Ù (À½¼Ò°Å, º¼·ý µîµî.)

SoundSet, NewSetting [, ComponentType, ControlType, DeviceNumber]

¸Å°³º¯¼ö

NewSetting

¹éºÐ·ü ¼ýÀÚ. ¹üÀ§´Â -100ºÎÅÍ 100 ±îÁö (ºÎµ¿ ¼Ò¼öÁ¡ ¼ö ¶Ç´Â Ç¥Çö½Ä °¡´É). ¼ýÀÚ°¡ Ç÷¯½º ¶Ç´Â ¸¶À̳ʽº »çÀÎÀ¸·Î ½ÃÀÛÇϸé, ÇöÀç ¼³Á¤ÀÌ ÁöÁ¤ÇÑ ¾ç¸¸Å­ À§³ª ¾Æ·¡·Î Á¶ÀýµË´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ÀÌ ¼³Á¤Àº ¸í½ÃÀûÀ¸·Î NewSetting¿¡ ÁöÁ¤ÇÑ °ªÀÌ ¼³Á¤µË´Ï´Ù.

¿ÀÁ÷ µÎ °³ÀÇ ¼³Á¤¸¸ °¡´ÉÇÑ ControlTypes¿¡ ´ëÇÏ¿© -- Áï ONOFF, MUTE, MONO, LOUDNESS, STEREOENH, ±×¸®°í BASSBOOST -- ¾ç¼ö´Â ¼³Á¤À» ÄÑ°í 0ÀÌ¸é ¼³Á¤À» ²ü´Ï´Ù. ±×·¸Áö¸¸, ¼ýÀÚ°¡ Ç÷¯½º ¶Ç´Â ¸¶À̳ʽº »çÀÎÀ¸·Î ½ÃÀÛÇϸé, ¼³Á¤Àº Åä±ÛµË´Ï´Ù (ÇöÀç »óŸ¦ ¹Ý´ë·Î ¼³Á¤ÇÕ´Ï´Ù).

ComponentType

»ý·«Çϰųª ºñ¾î ÀÖÀ¸¸é, ±âº»°ªÀº ´Ü¾î MASTERÀÔ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ´ÙÀ½ ´Ü¾î Áß Çϳª°¡ µÉ ¼ö ÀÖ½À´Ï´Ù: MASTER (SPEAKERS¿Í µ¿ÀǾî), DIGITAL, LINE, MICROPHONE, SYNTH, CD, TELEPHONE, PCSPEAKER, WAVE, AUX, ANALOG, HEADPHONES, ¶Ç´Â N/A. »ç¿îµå ÀåÄ¡¿¡ ÁöÁ¤µÈ ComponentTypeÀÌ ¾øÀ¸¸é, ErrorLevelÀº ±× ¿¡·¯¸¦ ¾Ë·ÁÁÝ´Ï´Ù.

¶óº§ÀÌ AuxiliaryÀÎ ÄÄÆ÷³ÍÆ®´Â ¾î¶² ¹Í¼­¿¡¼­ AUX°¡ ¾Æ´Ï¶ó ANALOG·Î Á¢±ÙÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀåÄ¡¿¡ ComponentTypeÀÇ ½Çü°¡ Çϳª ÀÌ»ó ÀÖÀ¸¸é (¿¹¸¦ µé¾î µÎ Á¾·ùÀÇ LINE), º¸Åë ù ¹ø° ÄÞÆ÷³ÍÆ®¿¡ ¿¬ÁÖ ¼³Á¤ÀÌ ´ã±â°í µÎ ¹ø° ÄÞÆ÷³ÍÆ®¿¡ ³ìÀ½ ¼³Á¤ÀÌ ´ã±é´Ï´Ù. ù ÄÞÆ÷³ÍÆ® ¸»°í ´Ù¸¥ ÄÞÆ÷³ÍÆ®¿¡ Á¢±ÙÇÏ·Á¸é ½ÖÁ¡°ú ¼ýÀÚ¸¦ ÀÌ ¸Å°³º¯¼ö µÚ¿¡ Ãß°¡ÇϽʽÿÀ. ¿¹¸¦ µé¾î: Analog:2´Â ¾Æ³¯·Î±× ÄÄÆ÷³ÍÆ®ÀÇ µÎ ¹ø° ½ÇüÀÔ´Ï´Ù.

ControlType

»ý·«Çϰųª ºñ¾î ÀÖÀ¸¸é, ±âº» °ªÀº VOLUMEÀÔ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ´ÙÀ½ ´Ü¾î Áß Çϳª°¡ µÉ ¼ö ÀÖ½À´Ï´Ù: VOLUME (¶Ç´Â VOL), ONOFF, MUTE, MONO, LOUDNESS, STEREOENH, BASSBOOST, PAN, QSOUNDPAN, BASS, TREBLE, EQUALIZER, ¶Ç´Â À¯È¿ÇÑ ÄÜÆ®·Ñ À¯ÇüÀÌ ¹øÈ£ (»ç¿îµåÄ«µå ºÐ¼® ½ºÅ©¸³Æ® ÂüÁ¶). ÁöÁ¤µÈ ComponentType¿¡ ÁöÁ¤µÈ ControlTypeÀÌ ¾øÀ¸¸é, ErrorLevelÀº ±× ¹®Á¦¸¦ ¾Ë·Á ÁÝ´Ï´Ù.

ÁÖÀÇ: »ç¿îµå ÀåÄ¡´Â º¸Åë VOLUME (¶Ç´Â VOL) ±×¸®°í MUTE¸¸ Áö¿øÇÕ´Ï´Ù. ¹°·Ð ´Ù¸¥ °Íµéµµ »ç¿îµå ÀåÄ¡¿Í À©µµ¿ìÁî ¹öÀü¿¡ µû¶ó »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

DeviceNumber

1ºÎÅÍ Áö¿øµÇ´Â ÀåÄ¡ÀÇ ÃÑ °¹¼ö ±îÁöÀÇ ¼ýÀÚ. ÀÌ ¸Å°³º¯¼ö¸¦ »ý·«Çϸé, ±âº» °ªÀº 1 (ù ¹ø° »ç¿îµå ÀåÄ¡)À̰ųª, ¾Æ´Ï¸é Windows Vista ÀÌÈÄ¿¡¼­ ¿¬ÁÖ¿¡ ´ëÇÑ ½Ã½ºÅÛÀÇ ±âº» ÀåÄ¡ÀÔ´Ï´Ù. ÀÌ ¸Å°³º¯¼ö´Â Ç¥Çö½ÄÀÏ ¼ö ÀÖ½À´Ï´Ù. »ç¿îµåÄ«µå ºÐ¼® ½ºÅ©¸³Æ®´Â ¾î´À ¹øÈ£¸¦ »ç¿ëÇÒ Áö °áÁ¤ÇÏ´Â µ¥ µµ¿òÀÌ µÉ °ÍÀÔ´Ï´Ù..

ErrorLevel

[v1.1.04+] ÀÌ ¸í·É¾î´Â ½ÇÆнà ¿¹¿Ü¸¦ ´øÁú ¼ö ÀÖ½À´Ï´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â ½ÇÇà½Ã°£ ¿¡·¯¸¦ ÂüÁ¶ÇϽʽÿÀ.

ErrorLevelÀº ¸í·É¾î°¡ ¼º°øÇßÀ¸¸é 0ÀÌ ¼³Á¤µË´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ´ÙÀ½ ¹®±¸ Áß Çϳª°¡ ¼³Á¤µË´Ï´Ù:

Invalid Control Type or Component Type (¹«È¿ÇÑ ÄÜÆ®·Ñ À¯ÇüÀ̳ª ÄÄÆ÷³ÍÆ® À¯Çü)
Can't Open Specified Mixer (ÁöÁ¤µÈ ¹Í¼­¸¦ ¿­ ¼ö ¾øÀ½)
Mixer Doesn't Support This Component Type (¹Í¼­°¡ ÀÌ ÄÄÆ÷³ÍÆ® À¯ÇüÀ» Áö¿øÇÏÁö ¾ÊÀ½)
Mixer Doesn't Have That Many of That Component Type (ÁöÁ¤ÇÑ ¸¸Å­ ¸¹Àº ÄÄÆ÷³ÍÆ® À¯ÇüÀÌ ¹Í¼­¿¡ ¾øÀ½)
Component Doesn't Support This Control Type (ÄÄÆ÷³ÍÆ®°¡ ÀÌ ÄÜÆ®·Ñ À¯ÇüÀ» Áö¿øÇÏÁö ¾ÊÀ½)
Can't Get Current Setting (ÇöÀç ¼³Á¤À» °¡Á®¿Ã ¼ö ¾øÀ½)
Can't Change Setting (¼³Á¤À» º¯°æÇÒ ¼ö ¾øÀ½)

³íÆò

Windows Vista ÀÌÈÄ´Â v1.1.10ºÎÅÍ Áö¿øÇÕ´Ï´Ù.

¿Àµð¿À¸¦ ´õ ¼¶¼¼ÇÏ°Ô Á¦¾îÇÏ·Á¸é, VA ¶óÀ̺귯¸®ÀÇ »ç¿ëÀ» °í·ÁÇØ º¸½Ê½Ã¿À.

º¼·ýÀ» Á¶ÀýÇÏ´Â ¶Ç´Ù¸¥ ¹æ¹ýÀº ½ºÅ©¸³Æ®¿¡°Ô º¼·ý-Á¦¾î Å°´­¸²À» Àü¼ÛÇÏ°Ô ÇØ Àüü ½Ã½ºÅÛ¿¡ ´ëÇÏ¿© ¸¶½ºÅÍ º¼·ëÀ» º¯°æÇÏ´Â °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ½ ¿¹Á¦¿Í °°ÀÌ ÇÒ ¼ö ÀÖ½À´Ï´Ù:

Send {Volume_Up}  ; ¸¶½ºÅÍ º¼·ýÀ» 1 ´«±Ý ¿Ã¸³´Ï´Ù (º¸Åë 5%).
Send {Volume_Down 3}  ; ¸¶½ºÅÍ º¼·ýÀ» 3 ´«±Ý ³»¸³´Ï´Ù.
Send {Volume_Mute}  ; ¸¶½ºÅÍ º¼·ýÀ» À½¼Ò°Å Çϰųª ÇØÁ¦ÇÕ´Ï´Ù.

½Ã½ºÅÛ¿¡ ¼³Ä¡µÈ »ç¿îµå ÀåÄ¡ (¹Í¼­)ÀÇ ´É·ÂÀ» ¾Ë¾Æ ³»·Á¸é -- ¿¹¸¦ µé¾î ÄÄÆ÷³ÍÆ® À¯Çü°ú ÄÜÆ®·Ñ À¯Çü -- »ç¿îµåÄ«µå ºÐ¼® ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇϽʽÿÀ.

Windows 2000/XP/2003: SoundSetÀÌ ÇÑ ÄÄÆ÷³ÍÆ®ÀÇ º¼·ýÀ» º¯°æÇÒ ¶§, ´Ù¸¥ ¸ðµç ÄÄÆ÷³ÍÆ®ÀÇ Ã¤³Îµµ (¿¹, ¿ÞÂÊ ¿À¸¥ÂÊ) °°Àº ·¹º§·Î ¼³Á¤µË´Ï´Ù. ´Ù¸¥ ¸»·Î, ÀÌÀü¿¡ "ÆòÇü"À» ¹þ¾î³­ °ªÀÌ ¼³Á¤µÇ¾ú´Ù¸é ¸ðµÎ »ç¶óÁý´Ï´Ù. WAVE ÄÄÆ÷³ÍÆ®¿¡ ´ëÇÏ¿© À̸¦ ÇÇÇÏ·Á¸é ´ë½Å¿¡ SoundSetWaveVolumeÀ» »ç¿ëÇÏ¸é µË´Ï´Ù. ÀÌ´Â º¼·ý ·¹º§À» º¯°æÇÒ ¶§ ±âÁ¸ÀÇ ÆòÇüÀ» À¯ÁöÇÏ·Á°í ½ÃµµÇÕ´Ï´Ù.

Windows Vista ÀÌÈÄ (v1.1.10+): SoundSet´Â º¼·ý ·¹º§À» º¯°æÇÒ ¶§ ±âÁ¸ÀÇ ÆòÇüÀ» À¯ÁöÇÏ·Á°í ³ë·ÂÇÕ´Ï´Ù.

¼³Á¤ÀÇ ÇöÀç °ªÀ» ¿­¶÷ÇÏ·Á¸é SoundGetÀ» »ç¿ëÇϽʽÿÀ.

°ü·Ã Ç׸ñ

SoundGet, SoundGetWaveVolume, SoundSetWaveVolume, SoundPlay

¿¹Á¦

; ±âº» ¿¹Á¦:
SoundSet, 50  ; ¸¶½ºÅÍ º¼·ý¿¡ 50%¸¦ ¼³Á¤ÇÕ´Ï´Ù
SoundSet +10  ; ¸¶½ºÅÍ º¼·ýÀ» 10% ¿Ã¸³´Ï´Ù
SoundSet -10  ; ¸¶½ºÅÍ º¼·ýÀ»  10% ³»¸³´Ï´Ù
SoundSet, 1, Microphone, mute  ; ¸¶ÀÌÅ©·ÎÆùÀ» À½¼Ò°ÅÇÕ´Ï´Ù
SoundSet, +1, , mute  ; ¸¶½ºÅÍ À½¼Ò°Å¸¦ Åä±ÛÇÕ´Ï´Ù (¹Ý´ë »óÅ·Π¼³Á¤ÇÕ´Ï´Ù)
SoundSet, +20, Master, bass  ; bass ·¹º§À» 20% ¿Ã¸³´Ï´Ù.
if ErrorLevel
    MsgBox, MASTER¿¡¼­ BASS ¼³Á¤À» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.

»ç¿îµåÄ«µå ºÐ¼®

´ÙÀ½ ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¸é »ç¿îµåÄ«µåÀÇ ´É·ÂÀ» ¾Ë¾Æº¼ ¼ö ÀÖ½À´Ï´Ù (ÄÄÆ÷³ÍÆ® À¯Çü°ú ÄÜÆ®·Ñ À¯Çü). ±× °á°ú¸¦ °£´ÜÇÑ ListView¿¡ º¸¿©ÁÝ´Ï´Ù. ´Ù¸¥ ¹æ¹ýÀ¸·Î, Windows Vista ÀÌÈÄ¿¡ (¿¹¸¦ µé¾î ÀåÄ¡ÀÇ È­¸é À̸§°ú °°Àº) ´õ ÀÚ¼¼ÇÑ Á¤º¸¸¦ Á¦°øÇÏ´Â ½ºÅ©¸³Æ®¸¦ ´ÙÀ½ Æ÷·³ÀÇ ÁÖÁ¦¿¡¼­ ³»·Á ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù: http://www.autohotkey.com/board/topic/90877-/

SetBatchLines -1
SplashTextOn,,, Gathering Soundcard Info...

; ¾Æ·¡¿¡¼­ ¼ø¼öÇÑ ¼ýÀÚ´Â ´ëºÎºÐ ¾Æ¸¶µµ ¾î´À ¹Í¼­¿¡µµ Á¸ÀçÇÏÁö ¾Ê°ÚÁö¸¸, ¿Ïº®À» ±âÇϱâ À§ÇØ ÁúÀÇÇÕ´Ï´Ù.
; ¼ýÀÚµéÀº ´ÙÀ½ Ç׸ñ¿¡ (¼ø¼­´ë·Î) »óÀÀÇÕ´Ï´Ù: CUSTOM, BOOLEANMETER, SIGNEDMETER, PEAKMETER,
; UNSIGNEDMETER, BOOLEAN, BUTTON, DECIBELS, SIGNED, UNSIGNED, PERCENT, SLIDER, FADER, SINGLESELECT, MUX,
; MULTIPLESELECT, MIXER, MICROTIME, MILLITIME
ControlTypes = VOLUME,ONOFF,MUTE,MONO,LOUDNESS,STEREOENH,BASSBOOST,PAN,QSOUNDPAN,BASS,TREBLE,EQUALIZER,0x00000000, 0x10010000,0x10020000,0x10020001,0x10030000,0x20010000,0x21010000,0x30040000,0x30020000,0x30030000,0x30050000,0x40020000,0x50030000,0x70010000,0x70010001,0x71010000,0x71010001,0x60030000,0x61030000

ComponentTypes = MASTER,HEADPHONES,DIGITAL,LINE,MICROPHONE,SYNTH,CD,TELEPHONE,PCSPEAKER,WAVE,AUX,ANALOG,N/A

; ListView¸¦ »ý¼ºÇÏ°í ¸ÞÀΠȸµ¹À̸¦ À§ÇØ Áغñ¸¦ ÇÕ´Ï´Ù:
Gui, Add, Listview, w400 h400 vMyListView, Component Type|Control Type|Setting|Mixer
LV_ModifyCol(4, "Integer")
SetFormat, Float, 0.2  ; Limit number of decimal places in percentages to two.

Loop  ; ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏ´Â °¢ ¹Í¼­ ¹øÈ£¿¡ ´ëÇÏ¿©, ±×ÀÇ ´É·ÂÀ» ÁúÀÇÇÕ´Ï´Ù.
{
    CurrMixer := A_Index
    SoundGet, Setting,,, %CurrMixer%
    if ErrorLevel = Can't Open Specified Mixer  ; ÀÌ ¿¡·¯¸¸ ¾Æ´Ï¸é ¹Í¼­°¡ Á¸ÀçÇÑ´Ù´Â ¶æÀÔ´Ï´Ù.
        break

    ; ÀÌ ¹Í¼­¿¡ Á¸ÀçÇÏ´Â °¢ ÄÄÆ÷³ÍÆ® À¯Çü¿¡ ´ëÇÏ¿©, ±×ÀÇ ½Çü¿Í ÄÜÆ®·Ñ À¯ÇüÀ» ÁúÀÇÇÕ´Ï´Ù:
    Loop, parse, ComponentTypes, `,
    {
        CurrComponent := A_LoopField
        ; ¸ÕÀú ÀÌ ÄÄÆ÷³ÍÆ® À¯ÇüÀÌ ¹Í¼­¿¡ Á¸ÀçÇÏ´ÂÁö Á¡°ËÇÕ´Ï´Ù:
        SoundGet, Setting, %CurrComponent%,, %CurrMixer%
        if ErrorLevel = Mixer Doesn't Support This Component Type
            continue  ; ´ÙÀ½ ÄÞÆ÷³ÍÆ® À¯ÇüÀ¸·Î ³ª¾Æ°¡±â À§ÇØ »õ ¹Ýº¹À» ½ÃÀÛÇÕ´Ï´Ù.
        Loop  ; ÀÌ ÄÄÆ÷³ÍÆ® À¯ÇüÀÇ °¢ ½Çü¿¡ ´ëÇÏ¿©, ±×ÀÇ ÄÜÆ®·Ñ À¯ÇüÀ» ÁúÀÇÇÕ´Ï´Ù.
        {
            CurrInstance := A_Index
            ; ¸ÕÀú ÀÌ ÄÄÆ÷³ÍÆ®ÀÇ ½Çü°¡ ¹Í¼­¿¡ Á¸ÀçÇÏ´ÂÁö Á¡°ËÇÕ´Ï´Ù:
            SoundGet, Setting, %CurrComponent%:%CurrInstance%,, %CurrMixer%
            ; ´ÙÀ½ÀÇ ¿¡·¯ µÎ °³¸¦ ¸ðµÎ Á¡°ËÇϸé ÀÌ ½ºÅ©¸³Æ®¸¦ ¿¹Àü ¹öÀü¿¡¼­µµ ½ÇÇà½Ãų ¼ö ÀÖ½À´Ï´Ù:
            if ErrorLevel in Mixer Doesn't Have That Many of That Component Type,Invalid Control Type or Component Type
                break  ; ÀÌ ÄÞÆ÷³ÍÆ® À¯ÇüÀÇ ½Çü°¡ ¾ø½À´Ï´Ù.
            ; ÀÌ ÄÄÆ÷³ÍÆ®ÀÇ ½Çü¿¡ Á¸ÀçÇÏ´Â °¢ ÄÜÆ®·Ñ À¯ÇüÀÇ ÇöÀç ¼³Á¤À» ¾ò½À´Ï´Ù:
            Loop, parse, ControlTypes, `,
            {
                CurrControl := A_LoopField
                SoundGet, Setting, %CurrComponent%:%CurrInstance%, %CurrControl%, %CurrMixer%
                ; ´ÙÀ½ µÎ ¿¡·¯¸¦ ¸ðµÎ Á¡°ËÇϸé ÀÌ ½ºÅ©¸³Æ®¸¦ ¿¹Àü ¹öÀü¿¡¼­µµ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù:
                if ErrorLevel in Component Doesn't Support This Control Type,Invalid Control Type or Component Type
                    continue
                if ErrorLevel  ; »ý°¢Áö ¸øÇÑ ¿¡·¯ÀÔ´Ï´Ù. ±×·¡¼­ ±× °á°ú¿¡ º¸¿©ÁÝ´Ï´Ù.
                    Setting := ErrorLevel
                ComponentString := CurrComponent
                if CurrInstance > 1
                    ComponentString = %ComponentString%:%CurrInstance%
                LV_Add("", ComponentString, CurrControl, Setting, CurrMixer)
            }  ; °¢ ÄÜÆ®·Ñ À¯Çü¿¡ ´ëÇÏ¿©.
        }  ; °¢ ÄÄÆ÷³ÍÆ® ½Çü¿¡ ´ëÇÏ¿©.
    }  ; °¢ ÄÄÆ÷³ÍÆ® À¯Çü¿¡ ´ëÇÏ¿©.
}  ; °¢ ¹Í¼­¿¡ ´ëÇÏ¿©.

Loop % LV_GetCount("Col")  ; ±×ÀÇ ³»¿ë¿¡ ¸Â°Ô °¢ Ä÷³ÀÇ Å©±â¸¦ ÀÚµ¿À¸·Î Á¶ÀýÇÕ´Ï´Ù.
    LV_ModifyCol(A_Index, "AutoHdr")

SplashTextOff
Gui, Show
return

GuiClose:
ExitApp