Necesito ver cuándo el volumen de sonido en mi Mac llega a cierto punto, en Python (y preferiblemente sin la necesidad de permisos). Cualquier puntero apreciado.
Respuesta
¿Demasiados anuncios?Usted tiene un par de métodos que usted puede utilizar aquí.
AppleScript a través de osascript
CLI
Usted puede utilizar AppleScript directamente a través de la osascript
de la CLI para obtener y establecer el volumen de este modo:
$ osascript -e 'output volume of (get volume settings)'
Volumen de conjunto - Donde 50 es un número de 0 a 100$ osascript -e 'set volume output volume 50'
Obtener estado de silencio - Ecos de una cadena de 'true' o 'false'$ osascript -e 'output muted of (get volume settings)'
Establecer estado de silencio - Donde 'true' puede ser 'true' o 'false'$ osascript -e 'set volume output muted true'
El uso de osascript
módulo en Python
Si usted tiene Python3 instalado y Xcode puede instalar el osascript
módulo así:
$ xcode-select --install
Instale virtualenv
$ pip3 install virtualenv
Crear un Virtualenv proyecto, y que se active$ virtualenv venv
$ . venv/bin/activate
Ahora dentro de esta costumbre Virtualenv medio ambiente, instale el módulo de Python$ pip3 install osascript
Collecting osascript
Collecting public (from osascript)
Collecting runcmd (from osascript)
Requirement already satisfied: setuptools in ./venv/lib/python3.7/site-packages (from osascript) (41.0.1)
Collecting temp (from osascript)
Collecting psutil (from runcmd->osascript)
Installing collected packages: public, psutil, runcmd, temp, osascript
Successfully installed osascript-2019.4.13 psutil-5.6.1 public-2019.4.13 runcmd-2019.4.13 temp-2019.4.13
He aquí un ejemplo de programa en Python que ajustar el volumen a 100$ cat vol.py
#!/usr/bin/env python3
import osascript
osascript.osascript("set volume output volume 100")
code, out, err = osascript.osascript("output volume of (get volume settings)")
print(out)
Ejecutando este se establece en 100 y, a continuación, mostrar el volumen del nivel de$ ./vol.py
100