Welcome to Volume Control’s documentation!¶
PyVolume¶
OS-agnostic module to control system volume using built-in functions.
- pyvolume.pyvolume.log(msg: str)¶
Log messages if logger is set.
- pyvolume.pyvolume.increase(logger: Optional[Logger] = None)¶
Sets the system volume to maximum.
- pyvolume.pyvolume.decrease(logger: Optional[Logger] = None)¶
Mutes the system volume.
- pyvolume.pyvolume.pyvolume(level: int, debug: bool = False, logger: Optional[Logger] = None) None ¶
Legacy function.
- pyvolume.pyvolume.custom(percent: int, logger: Optional[Logger] = None) None ¶
Set system volume to a certain level.
- Parameters:
percent – Volume level in percentage.
logger – Bring your own logger for custom logging.
Notes
- This package uses:
amixer
for volume controls in Linux.osascript
for volume controls in macOS.key combinations for volume controls in Windows.
amixer
is a command-line mixer for ALSA(Advanced Linux Sound Architecture) sound-card driver.
Module¶
Module to store shared object and validate host machine’s operating system.
Windows¶
Module to change volume in WindowsOS, using windows binaries.
>>> WindowsVolume
- class pyvolume.windows.KeyBoardInput¶
Inherits
Structure
fromctypes
for operations using keyboard.>>> KeyBoardInput
- _fields_ = [('wVk', <class 'ctypes.c_ushort'>), ('wScan', <class 'ctypes.c_ushort'>), ('dwFlags', <class 'ctypes.c_ulong'>), ('time', <class 'ctypes.c_ulong'>), ('dwExtraInfo', <class 'pyvolume.windows.LP_c_ulong'>)]¶
- dwExtraInfo¶
Structure/Union member
- dwFlags¶
Structure/Union member
- time¶
Structure/Union member
- wScan¶
Structure/Union member
- wVk¶
Structure/Union member
- class pyvolume.windows.HardwareInput¶
Inherits
Structure
fromctypes
for operations using external hardware.>>> HardwareInput
- _fields_ = [('uMsg', <class 'ctypes.c_ulong'>), ('wParamL', <class 'ctypes.c_short'>), ('wParamH', <class 'ctypes.c_ushort'>)]¶
- uMsg¶
Structure/Union member
- wParamH¶
Structure/Union member
- wParamL¶
Structure/Union member
- class pyvolume.windows.MouseInput¶
Inherits
Structure
fromctypes
for operations using a mouse.>>> MouseInput
- _fields_ = [('dx', <class 'ctypes.c_long'>), ('dy', <class 'ctypes.c_long'>), ('mouseData', <class 'ctypes.c_ulong'>), ('dwFlags', <class 'ctypes.c_ulong'>), ('time', <class 'ctypes.c_ulong'>), ('dwExtraInfo', <class 'pyvolume.windows.LP_c_ulong'>)]¶
- dwExtraInfo¶
Structure/Union member
- dwFlags¶
Structure/Union member
- dx¶
Structure/Union member
- dy¶
Structure/Union member
- mouseData¶
Structure/Union member
- time¶
Structure/Union member
- class pyvolume.windows.InputI¶
Inherits
Union
fromctypes
for input operations.>>> MouseInput
- _fields_ = [('ki', <class 'pyvolume.windows.KeyBoardInput'>), ('mi', <class 'pyvolume.windows.MouseInput'>), ('hi', <class 'pyvolume.windows.HardwareInput'>)]¶
- hi¶
Structure/Union member
- ki¶
Structure/Union member
- mi¶
Structure/Union member
- class pyvolume.windows.Input¶
Inherits
Structure
fromctypes
to set type fields.>>> MouseInput
- _fields_ = [('type', <class 'ctypes.c_ulong'>), ('ii', <class 'pyvolume.windows.InputI'>)]¶
- ii¶
Structure/Union member
- type¶
Structure/Union member
- pyvolume.windows.key_down(key_code: int) None ¶
Function for key down.
- Parameters:
key_code – Key code.
- pyvolume.windows.key_up(key_code: int) None ¶
Function for key up.
- Parameters:
key_code – Key code.
- pyvolume.windows.key(key_code: int) None ¶
Operator for the key function with time interval.
- Parameters:
key_code – Key code.
- pyvolume.windows.volume_up() None ¶
Controller for increase volume.
- pyvolume.windows.volume_down() None ¶
Controller for decrease volume.
- pyvolume.windows.mute() None ¶
Controller for mute.
- pyvolume.windows.set_volume(level: int) None ¶
Set volume to a custom level.
- Parameters:
level – Level to which the volume has to be set.