Alsa snd_mixer_open()'开放模式'

时间:2017-08-16 14:19:20

标签: c alsa mixer

在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模块的功能。

(我通常试图实现的目标是能够读取默认声卡主通道的音量级别。)

1 个答案:

答案 0 :(得分:1)

alsa-lib/src/mixer.c:68中的来源,“mode”参数被标记为未使用:

int snd_mixer_open(snd_mixer_t **mixerp, int mode ATTRIBUTE_UNUSED)

并且功能的来源证实了这一点。所以看起来在那里使用任何int是安全的(我个人只是用0)。