gpt4 book ai didi

linux - Qt : Get the list of available audio devices in Linux

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

我想获取我的 Linux 系统上可用的所有音频设备的列表。然后我会将此列表显示到一个组合框中,用户将从中选择用于录制/播放的设备。根据用户的选择,我将构建 QAudioInputQAudioOutput用于录制/播放。

根据 Qt 文档,这可以使用 QAudioDeviceInfo::availableDevices 来完成静态方法。此方法返回我系统中所有可用音频设备的列表。

我用这个方法列出了音频设备的数量。此方法应该返回一个仅包含两个元素的列表,因为我的系统中安装了两个声卡(一个在主板上,另一个是 USB 设备)。但它返回了一个包含 23 个项目的列表。当我访问他们的名字时,我得到如下内容 -

default
pulse
front:CARD=Intel,DEV=0
surround40:CARD=Intel,DEV=0
surround41:CARD=Intel,DEV=0
surround50:CARD=Intel,DEV=0
surround51:CARD=Intel,DEV=0
surround71:CARD=Intel,DEV=0
dmix:CARD=Intel,DEV=0
dsnoop:CARD=Intel,DEV=0
hw:CARD=Intel,DEV=0
plughw:CARD=Intel,DEV=0
front:CARD=default,DEV=0
surround40:CARD=default,DEV=0
surround41:CARD=default,DEV=0
surround50:CARD=default,DEV=0
surround51:CARD=default,DEV=0
surround71:CARD=default,DEV=0
iec958:CARD=default,DEV=0
dmix:CARD=default,DEV=0
dsnoop:CARD=default,DEV=0
hw:CARD=default,DEV=0
plughw:CARD=default,DEV=0

这背后的原因可能是 ALSA API这是在后端使用的。根据this article ALSA 将声卡逻辑分区为多个逻辑音频设备,Qt API 在查询驱动程序时获取这些设备。

我不想列出所有这些名称供用户选择。我想列出类似 -

HDA-Intel
USB-Audio

然后用户将从中选择他们想要的声卡..

有什么方法可以使用 Qt 来完成吗?如果不是,我真的很想知道这里可以使用哪些其他替代方案。

最佳答案

我知道这称为解决方法,但您似乎通过在列表中列出 CARD= 的不同值来获得此信息:在您的示例中,英特尔和默认值。

如果您的应用程序应该是跨平台的,那么此命令在其他操作系统下会返回什么?

关于linux - Qt : Get the list of available audio devices in Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8122235/

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