如何用python3控制raspberry pi的音量?
How to control the volume of raspberry pi with python 3?
我一直在网上查找有关使用 python 脚本控制 raspberry pi (b+) 音量的任何参考资料。我想出了 但 python-alsaaudio 不适用于 python 3 或在 thonny python idle 中说。
所以我需要知道根据用户输入更改 pi 音量的任何正确方法。
另一种方法是通过命令行工具控制音量。有一个用于 Alsa 命令行的工具,名为 amixer
:
amixer sset Master 50%
现在您可以创建一个简单的 python 脚本来运行上述命令:
import subprocess
# a value between 0 and 100
volume = 50
command = ["amixer", "sset", "Master", "{}%".format(volume)]
subprocess.Popen(command)
您可以将Master
更改为其他声卡。您可以获得控件列表:
$ amixer scontrols
Simple mixer control 'Master',0
Simple mixer control 'PCM',0
Simple mixer control 'Line',0
Simple mixer control 'CD',0
Simple mixer control 'Mic',0
Simple mixer control 'Mic Boost (+20dB)',0
Simple mixer control 'Video',0
Simple mixer control 'Phone',0
Simple mixer control 'IEC958',0
Simple mixer control 'Aux',0
Simple mixer control 'Capture',0
Simple mixer control 'Mix',0
Simple mixer control 'Mix Mono',0
我一直在网上查找有关使用 python 脚本控制 raspberry pi (b+) 音量的任何参考资料。我想出了
另一种方法是通过命令行工具控制音量。有一个用于 Alsa 命令行的工具,名为 amixer
:
amixer sset Master 50%
现在您可以创建一个简单的 python 脚本来运行上述命令:
import subprocess
# a value between 0 and 100
volume = 50
command = ["amixer", "sset", "Master", "{}%".format(volume)]
subprocess.Popen(command)
您可以将Master
更改为其他声卡。您可以获得控件列表:
$ amixer scontrols
Simple mixer control 'Master',0
Simple mixer control 'PCM',0
Simple mixer control 'Line',0
Simple mixer control 'CD',0
Simple mixer control 'Mic',0
Simple mixer control 'Mic Boost (+20dB)',0
Simple mixer control 'Video',0
Simple mixer control 'Phone',0
Simple mixer control 'IEC958',0
Simple mixer control 'Aux',0
Simple mixer control 'Capture',0
Simple mixer control 'Mix',0
Simple mixer control 'Mix Mono',0