Raspberry pi 如何用python 3控制树莓皮的体积?

Raspberry pi 如何用python 3控制树莓皮的体积?,raspberry-pi,volume,Raspberry Pi,Volume,我一直在网上寻找任何关于用python脚本控制raspberry pi(b+)音量的参考资料。我提出了,但是python alsaaudio不能与Python3一起使用,或者说不能在thonny python idle中使用。 因此,我需要知道根据用户输入更改pi音量的正确方法。另一种方法是通过命令行工具控制音量。有一个用于Alsa命令行的工具,名为amixer: amixer sset Master 50% 现在,您可以创建一个运行上述命令的简单python脚本: import subpro

我一直在网上寻找任何关于用python脚本控制raspberry pi(b+)音量的参考资料。我提出了,但是python alsaaudio不能与Python3一起使用,或者说不能在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

另一种方法是通过命令行工具控制音量。有一个用于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

我在终端中尝试了上面的命令,但它抛出错误,说
i@raspberrypi:~$amixer sset Master 50%amixer:找不到简单控件“Master”,0pi@raspberrypi:~$amixer sset PCM 50%amixer:找不到简单控件“PCM”,0pi@raspberrypi:~$amixer sset USB 50%amixer:找不到简单控件“USB”,0
我也尝试将声卡更改为PCM,但问题相同。非常感谢!现在可以了。实际上,当我运行
amixerscontrols
时,既没有
Master
也没有~PCM~。我学会了从列表中选择一个控制器,通过上面的命令我得到了[
简单混音器控制“扬声器”,0简单混音器控制“麦克风”,0简单混音器控制“自动增益控制”,0
]。所以在我的例子中,我使用了扬声器。谢谢有一个问题!是否有任何方法或命令可以获取树莓皮的当前体积?这样我就可以读取我的python脚本。
amixer get Master
将打印结果,您可以使用py脚本执行相同的过程来读取它。谢谢,我得到了它!!我在终端中尝试了上面的命令,但它抛出错误,说
i@raspberrypi:~$amixer sset Master 50%amixer:找不到简单控件“Master”,0pi@raspberrypi:~$amixer sset PCM 50%amixer:找不到简单控件“PCM”,0pi@raspberrypi:~$amixer sset USB 50%amixer:找不到简单控件“USB”,0
我也尝试将声卡更改为PCM,但问题相同。非常感谢!现在可以了。实际上,当我运行
amixerscontrols
时,既没有
Master
也没有~PCM~。我学会了从列表中选择一个控制器,通过上面的命令我得到了[
简单混音器控制“扬声器”,0简单混音器控制“麦克风”,0简单混音器控制“自动增益控制”,0
]。所以在我的例子中,我使用了扬声器。谢谢有一个问题!是否有任何方法或命令可以获取树莓皮的当前体积?这样我就可以读取我的python脚本。
amixer get Master
将打印结果,您可以使用py脚本执行相同的过程来读取它。谢谢,我得到了它!!