Alsa snd_mixer_open()'打开模式'
问题描述:
在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模块的功能。Alsa snd_mixer_open()'打开模式'
(什么我通常试图实现的,是能够读取默认声卡的主通道的音量。)
答
从alsa-lib/src/mixer.c:68的“模式”的说法被标记源作为未使用:
int snd_mixer_open(snd_mixer_t **mixerp, int mode ATTRIBUTE_UNUSED)
并且该函数的来源承载了。所以它看起来像在那里使用任何int是安全的(我个人只是0)。
+0
将来可能会使用一些模式位。 –
还有其他函数原型https://developer.blackberry.com/playbook/native/reference/com.qnx.doc.neutrino.audio/topic/libs/snd_mixer_open.html – EsmaeelE
https://stackoverflow.com/问题/ 21483929/set-mixer-as-default-alsa-api – EsmaeelE