【问题标题】:Pulseaudio set/check default sourcePulseaudio 设置/检查默认源
【发布时间】:2020-03-27 17:32:36
【问题描述】:

所以问题是,

  1. 如何设置默认来源?
  2. 如何列出当前的默认来源?

详情

我的 linux 设备上有 4 个声音输入源。这是pactl list sources的结果:

1   alsa_input.pci-0000_00_1b.0.analog-stereo   module-alsa-card.c  s16le 2ch 44100Hz SUSPENDED
2   alsa_input.usb-Generic_Rmoncam_HD_720P_200901010001-02.analog-stereo    module-alsa-card.c  s16le 2ch 48000Hz   SUSPENDED
3   alsa_input.usb-Generic_Rmoncam_HD_720P_200901010001-02.analog-stereo.2  module-alsa-card.c  s16le 2ch 48000Hz   SUSPENDED
5   alsa_output.pci-0000_00_1b.0.hdmi-stereo.monitor    module-alsa-card.c  s16le 2ch 44100Hz   SUSPENDED

我尝试通过多种方式将源 1 alsa_input.pci-0000_00_1b.0.analog-stereo 设置为我的默认源:

1.更改/etc/pulse/client.conf,添加如下几行:

default-sink = alsa_output.pci-0000_00_1b.0.hdmi-stereo

default-source = alsa_input.pci-0000_00_1b.0.analog-stereo

2.更改/etc/pulse/default.pa,添加以下行:

### Make some devices default
set-default-source alsa_input.pci-0000_00_1b.0.analog-stereo

配置完成后,我尝试pulseaudio -D重启设备,但配置无效。我不知道如何列出当前的默认源和接收器,所以我使用以下命令进行验证:

$> pactl load-module module-loopback latency_msec=500
$> pactl list sources short | grep RUNNING
   3    alsa_input.usb-Generic_Rmoncam_HD_720P_200901010001-02.analog-stereo.2  module-alsa-card.c  s16le 2ch 48000Hz   RUNNING

pactl 仍然使用我的 USB 摄像头的麦克风作为其默认来源。

系统信息

Linux 内核:

Linux D2-A109 4.15.0-55-generic #60-Ubuntu SMP Tue Jul 2 18:22:20 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

PulseAudio 版本:

$> pulseaudio --version
   11.1

欢迎任何建议!

【问题讨论】:

    标签: linux microphone pulseaudio


    【解决方案1】:

    最后..我发现它只是由麦克风“拔掉”引起的......并且设置默认源的方式是正确的。

    我找到了Q2的答案。“如何列出当前的默认来源?”:

    $> pacmd list-sources | grep -e 'index:' -e device.string -e 'name:' -e 'available'
    * index: 1
    name: <alsa_input.pci-0000_00_1b.0.analog-stereo>
        device.string = "front:0"
        analog-input-front-mic: Front Microphone (priority 8500, latency offset 0 usec, available: no)
        analog-input-rear-mic: Rear Microphone (priority 8200, latency offset 0 usec, available: yes)
        analog-input-linein: Line In (priority 8100, latency offset 0 usec, available: no)
    index: 2
    name: <alsa_input.usb-Generic_Rmoncam_HD_720P_200901010001-02.analog-stereo>
        device.string = "plug:front:1"
        analog-input-mic: Microphone (priority 8700, latency offset 0 usec, available: unknown)
    index: 3
    name: <alsa_input.usb-Generic_Rmoncam_HD_720P_200901010001-02.analog-stereo.2>
        device.string = "plug:front:2"
        analog-input-mic: Microphone (priority 8700, latency offset 0 usec, available: unknown)
    index: 7
    name: <alsa_output.pci-0000_00_1b.0.hdmi-stereo.monitor>
        device.string = "0"
    

    对应PulseAudio wiki索引前的*表示当前默认输入。

    为了避免有人像我一样傻,我们可以通过在source的打印结果中检查'available'来确定麦克风(source)是否被插上。

    【讨论】:

      【解决方案2】:

      如何列出当前的默认来源?

      使用 pulseaudio 15.0,您现在只需运行 pactl get-default-source 即可获取设备字符串,而无需在输出上运行 sed/awk/grep 等。

      【讨论】:

      • 13.99.1(来自 Ubuntu 20.04)也适用于 pactl
      猜你喜欢
      • 2012-08-01
      • 1970-01-01
      • 2022-01-06
      • 2011-04-09
      • 1970-01-01
      • 2016-09-29
      • 1970-01-01
      • 2018-09-13
      • 2016-02-25
      相关资源
      最近更新 更多