linux – 观察ALSA / Pulseaudio中的音量变化

你如何听默认声卡上主通道的音量变化?我希望通过dbus或回调或卷已更改的内容收到通知.

我已经尝试过查看ALSA和PulseAudio API,它们似乎只允许您设置和获取音量,但不会监听音量的变化.

任何编程语言都可以.

解决方法

这可以使用ALSA API.

拥有控制设备时,请调用snd_ctl_subscribe_events()以启用事件.
然后使用snd_ctl_read()读取事件;等待它们,使用阻止模式或poll().
如果事件的类型为SND_CTL_EVENT_ELEM,并且其事件位掩码包含SND_CTL_EVENT_MASK_VALUE,则该元素的值已更改.

有关示例,请参见the implementation of amixer monitor.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...