如何用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