Python 2.7 在Raspbery Pi上更改Python程序中的卷
我使用Raspbery Pi B+2。我有一个Python程序,它使用超声波传感器测量到物体的距离。我想改变的是音量,这取决于与人的距离。有一个Python代码来获取距离,我不知道如何通过Python代码更改Raspbery Pi卷 有什么方法可以做到这一点吗?您可以使用python alsaaudio包。 安装和使用非常简单 要安装或运行:Python 2.7 在Raspbery Pi上更改Python程序中的卷,python-2.7,raspberry-pi,raspberry-pi2,Python 2.7,Raspberry Pi,Raspberry Pi2,我使用Raspbery Pi B+2。我有一个Python程序,它使用超声波传感器测量到物体的距离。我想改变的是音量,这取决于与人的距离。有一个Python代码来获取距离,我不知道如何通过Python代码更改Raspbery Pi卷 有什么方法可以做到这一点吗?您可以使用python alsaaudio包。 安装和使用非常简单 要安装或运行: sudo apt-get install python-alsaaudio 在Python脚本中,导入模块: import alsaaudio 现在,
sudo apt-get install python-alsaaudio
在Python脚本中,导入模块:
import alsaaudio
现在,您需要获取主混音器并获取/设置音量:
m = alsaaudio.Mixer()
current_volume = m.getvolume() # Get the current Volume
m.setvolume(70) # Set the volume to 70%.
如果行m=alsaaudio.Mixer()
抛出错误,请尝试:
m = alsaaudio.Mixer('PCM')
这可能是因为Pi使用PCM而不是主通道
通过运行命令
amixer
,您可以查看有关Pi音频通道、音量(等)的更多信息。我为两个按钮的音量控制提供了一个简单的python服务。根据@ant0nisk的说法
它显示获取和设置音量以及静音
将alsaaudio导入为音频
scanCards=audio.cards()
打印(“卡:”,扫描卡)
就我而言,我有以下清单:
[u'PCH',u'headset']
:
扫描混音器=音频混音器(扫描卡索引(卡))
打印(“混合器:”,扫描混合器)
就我而言,我有以下两个列表:
[u'Master',u'heephone',u'Speaker',u'PCM',u'Mic Boost',u'IEC958',u'IEC958',u'IEC958',u'peep',u'Capture',u'Auto-Mute Mode',u'Internal Mic Boost',u'Loopback Mixing']
[u'耳机',u'麦克风',u'自动增益控制']
正如您可能看到的,“主”并不总是可用的混音器,但传统上预期主混音器的等效值为索引0。(并不意味着永远!)
def volumeMasterUP():
混音器=音频。混音器('耳机',cardindex=1)
volume=mixer.getvolume()
newVolume=int(卷[0])+10
如果newVolume=0:
mixer.setvolume(newVolume)
包名为