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.
Réponse
Trop de publicités?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
- Comment changer le volume avec Python ?
- Pipenv et environnements virtuels
- Pourquoi est-ce que j'obtiens le message "invalid active developer path" lorsque j'essaie d'utiliser Git après la mise à niveau vers MacOS Catalina ?
- Régler/obtenir le volume/muet d'OSX à partir de la ligne de commande
- PyPi - osascript
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.