gpt4 book ai didi

c - 枚举捕获 ALSA 设备并从中捕获

转载 作者:太空狗 更新时间:2023-10-29 11:45:18 25 4
gpt4 key购买 nike

我正在编写一个 C 程序,我想在其中枚举我系统中的所有捕获设备(实际上,我知道我有三个网络摄像头和“集成”麦克风),识别它们并在同时。

我使用 snd_device_name_hint() 枚举所有 PCM 设备,然后使用 snd_device_name_get_hint() 确定“IOID”以查看它们是否支持捕获,取得了一些成功。但是现在,如何使用 snd_pcm_open() 打开相关设备以便我可以捕获?我想使用“hw”接口(interface),因为我不想让系统因许多转换率而过载,所以我也想看看是否有一种方法来报告 HW 支持的采样频率。

谢谢!

最佳答案

snd_device_name_hint() 可以为同一硬件设备返回多个设备名称(例如,plughwhw)。它还可以返回不对应于单个硬件设备的设备(例如 null 或 PulseAudio/Jack/Bluetooth 设备)。

要枚举硬件设备,请调用 snd_card_next()snd_ctl_pcm_next_device()(示例请参见 aplay 源代码)。

要检查是否支持采样率,请调用 snd_pcm_hw_params_test_rate()

关于c - 枚举捕获 ALSA 设备并从中捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19696926/

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