【发布时间】:2013-01-26 23:36:18
【问题描述】:
我想通过 python 控制我的 ALSA 声卡的混音器。同时,我希望能够从其他可能同时修改声卡的应用程序中获取更改。
我想最简单的方法是使用声卡的混音器接口来设置和查询混音器。
使用alsaaudio 包应该相当容易:
import alsaaudio
mixer=alsaaudio.Mixer()
print mixer.getvolume() # prints e.g. '[100L]'
mixer.setvolume(50)
print mixer.getvolume() # prints '[50L]'
不幸的是,如果控件“在后台”更改,Mixer 的实例不会得到更新。
考虑上面的应用程序正在运行,但现在将混音器更改为 alsamixergui 到 80。
print mixer.getvolume() # prints '[50L]'
mixer2=alsaaudio.Mixer()
print mixer2.getvolume() # prints '[80L]'
print mixer.getvolume() # prints '[50L]'
实例化一个新的 Mixer() 是轮询新的混音器设置的唯一方法,还是有更简单的方法来刷新现有实例的值?
【问题讨论】: