Sign in to follow this  
Followers 0
BitByteBit

Working Windows 7 Sound UDF!

5 posts in this topic

Seen this one requested a lot and I thought I'd have a crack at it. Turns out it wasn't so hard!

Only thing is, I've never made a UDF before. So rather than post it in the Example Scripts forum only for it to need 100 changes, I thought I'd run it by the "pros" first.

Attached is what I've got so far, can you help me improve it?

Example usage:

#include<_W7Sound.au3>

;Open the Volume Mixer.
_OpenVolControl(1)

;Example 1, Working with the master volume.
$OldMaster = _GetMasterVolume()
For $i = 0 To 100 Step 20
    _SetMasterVolume($i)
    ConsoleWrite(_GetMasterVolume() & @CRLF)
Next
Sleep(840)
_SetMasterVolume($OldMaster)


;Example 2, working with a specific program.
$Sys = _GetVolume('System Sounds')
_SetVolume('System Sounds', 50)
Sleep(840)
_SetVolume('System Sounds', $Sys)



;Example 3, working with all.
$aProgs = _EnumerateAudioPrograms()
For $i = 2 To $aProgs[0][0]
    _SetVolume($aProgs[$i][2], 50)  ;Set new volume.
    ConsoleWrite($aProgs[$i][0] & ' - ' & _GetVolume($aProgs[$i][2]) & @CRLF)
Next
Sleep(840)
For $i = 2 To $aProgs[0][0]
    _SetVolume($aProgs[$i][2], $aProgs[$i][4]) ;Reset to original.
    ConsoleWrite($aProgs[$i][0] & ' - ' & _GetVolume($aProgs[$i][2]) & @CRLF)
Next

;Close the Volume Mixer.
_OpenVolControl(0)

Thanks,

BitByteBit

_W7Sound.au3

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

I haven't tested the UDF yet and everything looks clear and concise with the UDF structure. Maybe have a look at this >> http://www.autoitscript.com/autoit3/udfs/UDF_Standards.htm for a few extra tips!

Edited by guinness

_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

Thank you.

Share this post


Link to post
Share on other sites

Thanks for the UDF.

Can you add a function for testing whether the system volume is muted?
Testing for _GetMasterVolume = 0 does not work.
Mute apparently doesn't affect the volume level.
 

Share this post


Link to post
Share on other sites
$array = _EnumerateAudioPrograms()
_ArrayDisplay($array)

This only returns the Master Volume, no other apps are shown.

Ideas?

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0