gpt4 book ai didi

c - 设置ALSA流插件的音量

转载 作者:行者123 更新时间:2023-11-30 17:29:58 31 4
gpt4 key购买 nike

我需要能够设置 ALSA 流的音量(来自 PCM 接口(interface)的 snd_pcm_t)

我编写ALSA流公共(public)函数:

int alsa_thread_startup(const char *pdevice, const char *cdevice, int latency,
FILE *__error_fp,
int verbose);

void alsa_thread_stop(void);

pdevice 是播放设备,cdevice 是捕获设备。

我发现 snd_pcm_t 和控制接口(interface)之间没有任何联系。我使用了错误的 API 吗?

amixer 控件 -c0(主板):

numid=9,iface=MIXER,name='Master Mono Playback Switch'
numid=10,iface=MIXER,name='Master Mono Playback Volume'
numid=1,iface=MIXER,name='Master Playback Switch'
numid=2,iface=MIXER,name='Master Playback Volume'
numid=24,iface=MIXER,name='PCM Playback Switch'
numid=25,iface=MIXER,name='PCM Playback Volume'
numid=38,iface=MIXER,name='Surround Jack Mode'
numid=7,iface=MIXER,name='Surround Playback Switch'
numid=8,iface=MIXER,name='Surround Playback Volume'
numid=3,iface=MIXER,name='Center Playback Switch'
numid=4,iface=MIXER,name='Center Playback Volume'
numid=5,iface=MIXER,name='LFE Playback Switch'
numid=6,iface=MIXER,name='LFE Playback Volume'
numid=18,iface=MIXER,name='Line Playback Switch'
numid=19,iface=MIXER,name='Line Playback Volume'
numid=20,iface=MIXER,name='CD Playback Switch'
numid=21,iface=MIXER,name='CD Playback Volume'
numid=17,iface=MIXER,name='Mic Boost (+20dB)'
numid=37,iface=MIXER,name='Mic Front Input Switch'
numid=30,iface=MIXER,name='Mic Select'
numid=15,iface=MIXER,name='Mic Playback Switch'
numid=16,iface=MIXER,name='Mic Playback Volume'
numid=13,iface=MIXER,name='Phone Playback Switch'
numid=14,iface=MIXER,name='Phone Playback Volume'
numid=22,iface=MIXER,name='Aux Playback Switch'
numid=23,iface=MIXER,name='Aux Playback Volume'
numid=29,iface=MIXER,name='Mono Output Select'
numid=26,iface=MIXER,name='Capture Source'
numid=27,iface=MIXER,name='Capture Switch'
numid=28,iface=MIXER,name='Capture Volume'
numid=31,iface=MIXER,name='IEC958 Playback Con Mask'
numid=32,iface=MIXER,name='IEC958 Playback Pro Mask'
numid=35,iface=MIXER,name='IEC958 Playback AC97-SPSA'
numid=33,iface=MIXER,name='IEC958 Playback Default'
numid=41,iface=MIXER,name='IEC958 Playback Source'
numid=34,iface=MIXER,name='IEC958 Playback Switch'
numid=40,iface=MIXER,name='IEC958 Capture Switch'
numid=11,iface=MIXER,name='Beep Playback Switch'
numid=12,iface=MIXER,name='Beep Playback Volume'
numid=39,iface=MIXER,name='Channel Mode'
numid=36,iface=MIXER,name='Duplicate Front'
numid=42,iface=MIXER,name='External Amplifier'
numid=43,iface=PCM,name='Playback Channel Map'

amixer 控件 -c1 (saa7134):

numid=2,iface=MIXER,name='Line Volume',index=1
numid=3,iface=MIXER,name='Line Volume',index=2
numid=5,iface=MIXER,name='Line Capture Switch',index=1
numid=6,iface=MIXER,name='Line Capture Switch',index=2
numid=1,iface=MIXER,name='Video Volume'
numid=4,iface=MIXER,name='Video Capture Switch'

最佳答案

PCM设备和控制接口(interface)之间没有直接连接。

是否存在仅影响 PCM 设备的控件取决于硬件。如果存在,通常称为“PCM 播放音量”。按名称搜索该控件。(请注意,在所有 AC'97 任何 HDA 编解​​码器上,此控制仅影响两个前置 channel 。)

关于c - 设置ALSA流插件的音量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25404265/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com