我需要在运行时控制音频输出设备:
1) Main Speaker only
2) Headphone Only
3) Headphone + Main Speaker both together
我的应用程序在运行时决定在上述组合之间切换。我应该为上述目的使用什么 ALSA API。
(我使用 Linux 3.0、ALSA、C、TI tlv320aic3x、ARM)。
你可以使用这个:
int snd_mixer_selem_set_playback_volume(snd_mixer_elem_t *elem,
snd_mixer_selem_channel_id_t channel, long value)
这是一个源代码示例:
/* Set new volume */
if (snd_mixer_selem_set_playback_volume(elem,
SND_MIXER_SCHN_FRONT_LEFT, left_volume) != 0)
return (-1);
if (snd_mixer_selem_set_playback_volume(elem,
SND_MIXER_SCHN_FRONT_RIGHT, right_volume) != 0)
return (-1);