在ALSA中设置通道音量

时间:2015-04-19 10:05:36

标签: linux audio alsa pcm

我的应用程序使用ALSA通过各种渠道播放原始PCM音频数据。我正在使用snd_pcm_open()分配新的音频通道,然后通过sn​​d_pcm_hw_params_xxx()调用设置PCM格式,最后使用snd_pcm_writei()API将原始PCM音频数据提供给ALSA。

到目前为止,这一切都正常,但我没有找到任何方法告诉ALSA减少以上述方式分配的声道的音量。当然,我可以手动将音量缩放应用到PCM数据,然后通过sn​​d_pcm_writei()将其发送到ALSA,但是ALSA真的没办法自己做吗?

2 个答案:

答案 0 :(得分:2)

您可以通过混合器:

amixer cset name='Headphone Playback Volume' 98%,100%

要获取名称值,请检查alsamixer,在每个名称后附加“播放音量”。

并通过alsamixer:

键盘z左声道减小。

q左增加。

c是右减。

e是正确的增加

答案 1 :(得分:1)

ALSA没有这样的功能。

您必须自己进行缩放,或者使用像PulseAudio这样的声音服务器。