在Raspbery Pi上的Python程序中更改音量

Kub*_*uba 1 python-2.7 raspberry-pi raspberry-pi2

我使用Raspbery Pi B +2。我有一个Python程序,该程序使用超声传感器测量到物体的距离。我想根据与人的距离改变音量。有一个Python代码来获取距离,我不知道如何通过Python中的代码更改Raspbery Pi的体积。

有什么办法吗?

ant*_*isk 6

您可以使用软件包python-alsaaudio。安装和使用非常简单。

要安装运行:

sudo apt-get install python-alsaaudio
Run Code Online (Sandbox Code Playgroud)

在您的Python脚本中,导入模块:

import alsaaudio
Run Code Online (Sandbox Code Playgroud)

现在,您需要获取主混音器并获取/设置音量:

m = alsaaudio.Mixer()
current_volume = m.getvolume() # Get the current Volume
m.setvolume(70) # Set the volume to 70%.
Run Code Online (Sandbox Code Playgroud)

如果该行m = alsaaudio.Mixer()引发错误,请尝试:

m = alsaaudio.Mixer('PCM')
Run Code Online (Sandbox Code Playgroud)

这可能是因为Pi使用PCM而不是Master通道。

通过运行命令,您可以查看有关Pi的音频通道,音量(等)的更多信息amixer

  • 该包名为[pyalsaaudio](https://pypi.org/project/pyalsaaudio/) (2认同)