2 votes

Comment puis-je déterminer le volume du son à partir d'un script Python ?

J'ai besoin de voir quand le volume du son sur mon Mac atteint un certain point, en Python (et de préférence sans avoir besoin de permissions). Toute indication sera appréciée.

0 votes

Lorsque vous posez des questions sur le codage, veuillez indiquer ce que vous avez déjà, et/ou ce que vous avez essayé de faire pour résoudre le problème.

1voto

slm Points 4018

Vous avez deux approches possibles ici.

AppleScript via osascript CLI

Vous pouvez utiliser AppleScript directement via le osascript CLI pour obtenir et définir le volume comme suit :

Obtenir le volume - Echos d'un nombre de 0 à 100

$ osascript -e 'output volume of (get volume settings)'

Définir le volume - Où 50 est un nombre de 0 à 100

$ osascript -e 'set volume output volume 50'

Obtenir l'état de sourdine - Echos d'une chaîne de 'true' ou 'false'.

$ osascript -e 'output muted of (get volume settings)'

Définir l'état de sourdine - où "true" peut être "true" ou "false".

$ osascript -e 'set volume output muted true'

Utilisation de osascript en Python

Si vous avez installé Python3 et Xcode, vous pouvez installer le fichier osascript module comme ça :

Installer Xcode

$ xcode-select --install

Installer virtualenv

$ pip3 install virtualenv

Créer un projet Virtualenv, et l'activer

$ virtualenv venv
$ . venv/bin/activate

Maintenant, dans cet environnement Virtualenv personnalisé, installez le module 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

Voici un exemple de programme Python qui réglera le volume à 100

$ cat vol.py
#!/usr/bin/env python3

import osascript

osascript.run("set volume output volume 100")
code, out, err = osascript.run("output volume of (get volume settings)")
print(out)

En exécutant cette opération, le volume sera réglé sur 100 et affichera ensuite le niveau du volume.

$ ./vol.py
100

Références

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X