hellocatfood Asked: 2011-01-18 14:08:21 +0800 CST2011-01-18 14:08:21 +0800 CST 2011-01-18 14:08:21 +0800 CST 我的音频设备是什么? 772 我正在尝试使用easycap从我的摄像机记录,但我遇到了一个小问题。使用他们的测试脚本,我可以获得音频和视频。我注意到在第 159 行的脚本中,它调用了“ DEV_ADUIO”,报告为“ plughw:2,0”。 这个设备到底是什么?它位于/dev/某个地方吗? 我已经完成了ls /dev/,但找不到任何建议使用音频设备的内容 sound 2 个回答 Voted Best Answer user4124 2011-01-18T14:43:03+08:002011-01-18T14:43:03+08:00 运行命令(在终端中) aplay -l 输出看起来像 **** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: ALC262 Analog [ALC262 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 用于此的设备是plughw:0,0。这两个零来自设备 0和子设备 #0。 Matthias Braun 2022-06-07T03:20:06+08:002022-06-07T03:20:06+08:00 通常,有几种方法可以在 Linux 上获取音频播放和录音设备。我在这个答案中专注于命令行工具。 使用 PipeWire 工具 如果您将PipeWire作为声音服务器运行,您可以使用它pw-cli来获取所有输入和输出(录音和播放设备)的名称: pw-cli list-objects | grep node.name 示例输出: node.name = "Dummy-Driver" node.name = "Freewheel-Driver" node.name = "Midi-Bridge" node.name = "v4l2_input.pci-0000_00_1a.0-usb-0_1.6_1.0" node.name = "alsa_output.pci-0000_00_1b.0.analog-stereo" node.name = "alsa_input.pci-0000_00_1b.0.analog-stereo" node.name = "alsa_input.usb-UC_Mic_USB_Audio_Device-00.mono-fallback" 通常,像 USB 麦克风这样的音频设备(在上一个输出中最后列出)具有较短的昵称;跑步 pw-cli list-objects | grep node.nick 产生 USB mic 的昵称: node.nick = "USB Audio Device" 例如,当从命令行录制音频时,这可以缩短命令。 另请参阅pw-link哪些可以列出输入和输出 PipeWire 端口。 使用 PulseAudio 工具 或者,您可以使用PulseAudio(另一个声音服务器)附带的命令行工具来执行相同的操作: pactl list | grep node.name pw-cli list-objects在我的机器上产生类似的输出: node.name = "alsa_output.pci-0000_00_1b.0.analog-stereo" node.name = "alsa_output.pci-0000_00_1b.0.analog-stereo" node.name = "alsa_input.pci-0000_00_1b.0.analog-stereo" node.name = "alsa_input.usb-UC_Mic_USB_Audio_Device-00.mono-fallback" 我发现只显示音频接收器很有用,比如扬声器和耳机: pactl list short sinks 示例输出: 43 alsa_output.pci-0000_00_1b.0.analog-stereo PipeWire s32le 2ch 48000Hz IDLE 1076 alsa_output.usb-Logitech_Logitech_Wireless_Headset_4473D63ED97A-00.analog-stereo PipeWire s16le 2ch 48000Hz IDLE 请注意,即使您使用 PipeWire 作为音频服务器,它pactl也可能仍然有效,因为 PipeWire 旨在成为 PulseAudio 的替代品。 使用 ALSA 工具 如user4124 的回答所示,您可以使用ALSA 的命令行工具列出播放设备: aplay --list-devices 我机器上播放设备的示例输出: **** List of PLAYBACK Hardware Devices **** card 0: PCH [HDA Intel PCH], device 0: CX20590 Analog [CX20590 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2] Subdevices: 1/1 Subdevice #0: subdevice #0 对于录音设备,使用 arecord --list-devices 在我的机器上记录设备的示例输出: **** List of CAPTURE Hardware Devices **** card 0: PCH [HDA Intel PCH], device 0: CX20590 Analog [CX20590 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 另请参见手册页中列出所有PCM设备的--list-pcms选项。
运行命令(在终端中)
输出看起来像
用于此的设备是plughw:0,0。这两个零来自设备 0和子设备 #0。
通常,有几种方法可以在 Linux 上获取音频播放和录音设备。我在这个答案中专注于命令行工具。
使用 PipeWire 工具
如果您将PipeWire作为声音服务器运行,您可以使用它
pw-cli
来获取所有输入和输出(录音和播放设备)的名称:示例输出:
通常,像 USB 麦克风这样的音频设备(在上一个输出中最后列出)具有较短的昵称;跑步
产生 USB mic 的昵称:
例如,当从命令行录制音频时,这可以缩短命令。
另请参阅
pw-link
哪些可以列出输入和输出 PipeWire 端口。使用 PulseAudio 工具
或者,您可以使用PulseAudio(另一个声音服务器)附带的命令行工具来执行相同的操作:
pw-cli list-objects
在我的机器上产生类似的输出:我发现只显示音频接收器很有用,比如扬声器和耳机:
示例输出:
请注意,即使您使用 PipeWire 作为音频服务器,它
pactl
也可能仍然有效,因为 PipeWire 旨在成为 PulseAudio 的替代品。使用 ALSA 工具
如user4124 的回答所示,您可以使用ALSA 的命令行工具列出播放设备:
我机器上播放设备的示例输出:
对于录音设备,使用
在我的机器上记录设备的示例输出:
另请参见手册页中列出所有PCM设备的
--list-pcms
选项。