美文网首页
使用pacmd list-sinks获取USB DAC的信息

使用pacmd list-sinks获取USB DAC的信息

作者: 苍蝇的梦 | 来源:发表于2021-05-19 09:42 被阅读0次

2020-03-30 遇到的一点小问题

pacman -S pulseaudio
最近需要获取比较详细的USB Audio信息,网上找了下,很多推荐pacmd list-sinks命令。
先使用pacman -S pulseaudio命令安装PulseAudio,再使用pacmd list-sinks命令获取信息,不过失败了。
[root@archlinux ~]# pacmd list-sinks
No PulseAudio daemon running, or not running as session daemon.

看了下PulseAudio官方文档,第一步需要启动服务。参考pulseaudio的man页面,执行pulseaudio --start指令后再获取。
这次没出错,不过也没获取到想要的信息。

[root@archlinux ~]# pulseaudio --start
[root@archlinux ~]# pacmd list-sinks
1 sink(s) available.
  * index: 0
        name: <auto_null>
        driver: <module-null-sink.c>
        flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
        state: SUSPENDED
        suspend cause: IDLE
        priority: 1000
        volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        base volume: 65536 / 100% / 0.00 dB
        volume steps: 65537
        muted: no
        current latency: 0.00 ms
        max request: 344 KiB
        max rewind: 344 KiB
        monitor source: 0
        sample spec: s16le 2ch 44100Hz
        channel map: front-left,front-right
                     Stereo
        used by: 0
        linked by: 0
        configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
        module: 12
        properties:
                device.description = "Dummy Output"
                device.class = "abstract"
                device.icon_name = "audio-card"

再翻了翻文档,发现还需要安装alsa-utils应用

pacman -S alsa-utils
执行pacman -S alsa-utils指令安装后,再重试。可以了。。。
[root@archlinux ~]# pulseaudio --kill
[root@archlinux ~]# pulseaudio --start
[root@archlinux ~]# pacmd list-sinks
1 sink(s) available.
  * index: 5
        name: <alsa_output.usb-AudioQuest_AudioQuest_DragonFly_Red_v1.0_AQDFRD0100105709-01.analog-stereo>
        driver: <module-alsa-card.c>
        flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
        state: SUSPENDED
        suspend cause: IDLE
        priority: 9049
        volume: front-left: 30419 /  46% / -20.00 dB,   front-right: 30419 /  46% / -20.00 dB
                balance 0.00
        base volume: 65536 / 100% / 0.00 dB
        volume steps: 65537
        muted: no
        current latency: 0.00 ms
        max request: 0 KiB
        max rewind: 0 KiB
        monitor source: 5
        sample spec: s24le 2ch 44100Hz
        channel map: front-left,front-right
                     Stereo
        used by: 0
        linked by: 0
        configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
        card: 4 <alsa_card.usb-AudioQuest_AudioQuest_DragonFly_Red_v1.0_AQDFRD0100105709-01>
        module: 27
        properties:
                alsa.resolution_bits = "24"
                device.api = "alsa"
                device.class = "sound"
                alsa.class = "generic"
                alsa.subclass = "generic-mix"
                alsa.name = "USB Audio"
                alsa.id = "USB Audio"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.device = "0"
                alsa.card = "1"
                alsa.card_name = "AudioQuest DragonFly Red v1.0"
                alsa.long_card_name = "AudioQuest AudioQuest DragonFly Red v1.0 at usb-0000:00:14.0-2.2, full speed"
                alsa.driver_name = "snd_usb_audio"
                device.bus_path = "pci-0000:00:14.0-usb-0:2.2:2.1"
                sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2:2.1/sound/card1"
                udev.id = "usb-AudioQuest_AudioQuest_DragonFly_Red_v1.0_AQDFRD0100105709-01"
                device.bus = "usb"
                device.vendor.id = "21b4"
                device.vendor.name = "AudioQuest"
                device.product.id = "0082"
                device.product.name = "AudioQuest DragonFly Red v1.0"
                device.serial = "AudioQuest_AudioQuest_DragonFly_Red_v1.0_AQDFRD0100105709"
                device.string = "front:1"
                device.buffering.buffer_size = "529200"
                device.buffering.fragment_size = "264600"
                device.access_mode = "mmap+timer"
                device.profile.name = "analog-stereo"
                device.profile.description = "Analog Stereo"
                device.description = "AudioQuest DragonFly Red v1.0 Analog Stereo"
                alsa.mixer_name = "USB Mixer"
                alsa.components = "USB21b4:0082"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card-usb"
        ports:
                analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown)
                        properties:
                                
        active port: <analog-output>

使用hwinfo应用也能获取不少信息,就是解析挺费劲的。
因为需求只是获取部分信息,特意安装pulseaudio没必要,所以最后通过读取udevasound相关文件也都获取到了。
记录一下。

[root@archlinux ~]# pacmd --help    
pacmd exit
pacmd help
pacmd list-(modules|sinks|sources|clients|cards|samples)
pacmd list-(sink-inputs|source-outputs)
pacmd stat
pacmd info
pacmd load-module NAME [ARGS ...]
pacmd unload-module NAME|#N
pacmd describe-module NAME
pacmd set-(sink|source)-volume NAME|#N VOLUME
pacmd set-(sink-input|source-output)-volume #N VOLUME
pacmd set-(sink|source)-mute NAME|#N 1|0
pacmd set-(sink-input|source-output)-mute #N 1|0
pacmd update-(sink|source)-proplist NAME|#N KEY=VALUE
pacmd update-(sink-input|source-output)-proplist #N KEY=VALUE
pacmd set-default-(sink|source) NAME|#N
pacmd kill-(client|sink-input|source-output) #N
pacmd play-sample NAME SINK|#N
pacmd remove-sample NAME
pacmd load-sample NAME FILENAME
pacmd load-sample-lazy NAME FILENAME
pacmd load-sample-dir-lazy PATHNAME
pacmd play-file FILENAME SINK|#N
pacmd dump
pacmd move-(sink-input|source-output) #N SINK|SOURCE
pacmd suspend-(sink|source) NAME|#N 1|0
pacmd suspend 1|0
pacmd set-card-profile CARD PROFILE
pacmd set-(sink|source)-port NAME|#N PORT
pacmd set-port-latency-offset CARD-NAME|CARD-#N PORT OFFSET
pacmd set-log-target TARGET
pacmd set-log-level NUMERIC-LEVEL
pacmd set-log-meta 1|0
pacmd set-log-time 1|0
pacmd set-log-backtrace FRAMES

  -h, --help                            Show this help
      --version                         Show version
When no command is given pacmd starts in the interactive mode.

相关文章

网友评论

      本文标题:使用pacmd list-sinks获取USB DAC的信息

      本文链接:https://www.haomeiwen.com/subject/iqbmuhtx.html