IanN1990 Posted June 29, 2012 Share Posted June 29, 2012 (edited) I have a Logitech Wireless Keyboard MK700, The setpoint software that comes with this keyboard isn't very good "though it does its job, i mainly use autoit for extending the functionality and personality of this device" but i have a problem. It has three buttons, Mute, Vol up and Vol Down. Now for some reason "Mute" on my computer doesn't truly mute the sound, i can still hear like whispers. I can only assume this is down to my speakers having a big-ass amplifier on it *Shrugs*. During my search of the Autoit forums, i came across a UDF called _W7Sounds.au3 which offers a function to truly mute the system (By remembering the Volume, and then sending it to 0. To unmute it sets the 0 to the original Level). Now to my question. I want to bind my logitch "Mute" button to this _W7sounds.au3 but the standard Hotkey{"Volume_Mute"} Doesn't work. Secondly if it’s the case i can’t bind it for whatever reason, then is there a way to detect when the system has been muted ? "So my code could detect a mute has happened and set to 0". Edited September 8, 2012 by IanN1990 Link to comment Share on other sites More sharing options...
Xenobiologist Posted June 29, 2012 Share Posted June 29, 2012 You can try something like this. ;~ ConsoleWrite(Send('{VOLUME_MUTE}') & @CRLF) $re = _isMute(1000) If @error Then ConsoleWrite(@error & @CRLF) ConsoleWrite($re & @CRLF) ;=============================================================================== ; ; Function Name: _isMute ; Description:: Check for mute sound ; Parameter(s): ControlID ; Voulme = 1000 ; Wave = 2000 ; SW-Synthesizer = 3000 ; CD-Player = 4000 ; Mikrofon = 5000 ; Line-In = 6000 ; Requirement(s): --- ; Return Value(s): 0 = not muted, 1 = muted, -1 = timeout, -2 = ControlID not found ; Author(s): Thorsten Meger (Xenobiologist) ; ;=============================================================================== Func _isMute($opt = 1000) Local $retVal = 0, $ex = False If Not WinExists('[CLASS:Volume Control]') Then Run('sndvol32', '', @SW_HIDE) $ex = True EndIf If WinWait('[CLASS:Volume Control]', '', 2) = 0 Then Return -1 $retVal = ControlCommand('[CLASS:Volume Control]', '', $opt, 'isChecked') If @error Then Return -2 If $ex = True Then WinClose('[CLASS:Volume Control]') Return $retVal EndFunc ;==>_isMute Scripts & functions Organize Includes Let Scite organize the include files Yahtzee The game "Yahtzee" (Kniffel, DiceLion) LoginWrapper Secure scripts by adding a query (authentication) _RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...) Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc. MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times Link to comment Share on other sites More sharing options...
somdcomputerguy Posted June 29, 2012 Share Posted June 29, 2012 (edited) I use code like this to see if that 'red circle with a line thru it' is present over the speaker icon in my tray. If it is, it simply sends 'volume_mute'. If you use this you'll almost certainly need to adjust the screen coords to look in, and maybe even the color, which is pure red here. ; If Main is muted, un-mute it PixelSearch(1260, 780, 1275, 790, 0xFF0000) If Not @error Then Send("{VOLUME_MUTE}") Edited June 29, 2012 by somdcomputerguy - Bruce /*somdcomputerguy */ If you change the way you look at things, the things you look at change. Link to comment Share on other sites More sharing options...
IanN1990 Posted June 29, 2012 Author Share Posted June 29, 2012 (edited) @XenobiologistWhile playing music i ran your code, it ouputed -1. I then hit the mute on my keybaord and ran the code again but got -1 **Edit i removed the comments prevending the send Mute and ran the code twice again (even with Vol Mixer showing) but in both instances the output was -1 **@somdcomputerguy Aside from the fact pixelsearch is one of the functions i wish to stay away from most in autoit. In my case the taskbar is normally hidden when not beeing used. "As i toyed with the idea of pixelsearch for detecting when a chat program was flashing". Edited June 29, 2012 by IanN1990 Link to comment Share on other sites More sharing options...
IanN1990 Posted June 29, 2012 Author Share Posted June 29, 2012 While looking at the windows speaker application "Volume Mixer". I noticed for each Speaker icon, it has a tooltip "Mute {Item}" or "Unmute {Item}". Is there any way for me to capture the text from this tooltip as then i could just have a simple check ? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now