在snd_mixer_open的documentation中,第二个参数int mode
的说明是:"打开模式"。但我无法找到有关在同一模块中使用哪些符号值的更多信息。经过一些搜索,我发现在snd_ctl / control模块中,有符号值,如SND_CTL_NONBLOCK和SND_CTL_ASYNC,还有SND_CTL_READONLY。但我仍然没有迹象表明哪些可以在snd_mixer_open
函数中使用!并且因为它们以' SND_CTL'为前缀。我的印象是它们仅用于snd_ctl模块的功能。
(我通常试图实现的目标是能够读取默认声卡主通道的音量级别。)
答案 0 :(得分:1)
从alsa-lib/src/mixer.c:68中的来源,“mode”参数被标记为未使用:
int snd_mixer_open(snd_mixer_t **mixerp, int mode ATTRIBUTE_UNUSED)
并且功能的来源证实了这一点。所以看起来在那里使用任何int是安全的(我个人只是用0)。