相关api
snd_ctl_open
snd_ctl_card_info_alloca
snd_ctl_event_alloca
snd_ctl_subscribe_events
snd_ctl_wait
函数说明
int snd_ctl_open(snd_ctl_t **ctl, const char *name, int mode);
获取控制声卡得句柄
#define snd_ctl_card_info_alloca(ptr) __snd_alloca(ptr, snd_ctl_card_info)
获取声卡得信息
snd_ctl_card_info_get_card
snd_ctl_card_info_get_id
snd_ctl_card_info_get_driver
snd_ctl_card_info_get_name
snd_ctl_card_info_get_longname
snd_ctl_card_info_get_mixername
snd_ctl_card_info_get_components
snd_ctl_event_alloca+snd_ctl_elem_value_malloc
通过 snd_ctl_elem_value_set_numid+snd_ctl_elem_read可以获取对应id得当前状态
注册snd_ctl_subscribe_events event事件
snd_ctl_wait等待event事件发生然后进行处理,event事件发生后直接调用snd_ctl_read+snd_ctl_elem_value_set_numid+snd_ctl_elem_read + snd_ctl_elem_value_get_bytes获取触发event得id以及对应得值