我正在编写一个 C 程序,我想枚举系统中的所有捕获设备(实际上,我知道我有三个网络摄像头加上“集成”麦克风),识别它们并同时开始捕获它们。
我使用 snd_device_name_hint() 枚举所有 PCM 设备,然后使用 snd_device_name_get_hint() 确定“IOID”以查看它们是否支持捕获,取得了一些成功。但是现在,我如何使用 snd_pcm_open() 打开相关设备以便我可以捕获?我想使用“hw”接口,因为我不想让系统因许多转换率而过载,所以我还想看看是否有一种方法来报告硬件支持的采样频率。
谢谢你!
snd_device_name_hint()
可以返回同一硬件设备的多个设备名称(例如,plughw
and hw
)。
它还可以返回不对应于单个硬件设备的设备(例如null
,或 PulseAudio/Jack/蓝牙设备)。
要枚举硬件设备,请调用snd_card_next()
and snd_ctl_pcm_next_device()
(有关示例,请参阅 aplay 源代码)。
要检查是否支持采样率,请调用snd_pcm_hw_params_test_rate()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)