2 votos

¿Cómo puedo determinar el volumen de sonido dentro de un script de python?

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.

1voto

slm Puntos 118

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:

Obtener el volumen - Ecos de un número de 0 a 100
$ 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í:

Instalar Xcode
$ 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

Referencias

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X