无论设置如何,Pulseaudio 都使用 Arozzi Sfera 麦克风作为默认接收器。如何诊断或修复?

无论设置如何,Pulseaudio 都使用 Arozzi Sfera 麦克风作为默认接收器。如何诊断或修复?

我有一个 Arozzi Sfera 桌面麦克风。它的背面有一个耳机插孔,我猜是用来接显示器的。

连接麦克风后,我可以在设置视图的“声音”选项卡中看到各种音频输出设备,包括我的蓝牙耳机、显示器的 HDMI 连接和麦克风。当我选择任何输出设备并使用“测试”功能时,音频会直接发送到麦克风的耳机插孔。

我尝试运行pulseaudio -k,但当systemctl --user restart pulseaudio.service问题出现时,却无济于事。

pulseaudio 服务状态如下:

● pulseaudio.service - Sound Service
     Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-11-09 17:04:12 EET; 17min ago
TriggeredBy: ● pulseaudio.socket
   Main PID: 7052 (pulseaudio)
      Tasks: 8 (limit: 19009)
     Memory: 9.8M
        CPU: 9.083s
     CGroup: /user.slice/user-1000.slice/[email protected]/session.slice/pulseaudio.service
             └─7052 /usr/bin/pulseaudio --daemonize=no --log-target=journal

marras 09 17:04:12 haem-desktop systemd[2192]: Starting Sound Service...
marras 09 17:04:12 haem-desktop pulseaudio[7052]: Failed to open cookie file '/home/haem/.config/pulse/cookie': Tiedostoa tai hakemistoa ei ole
marras 09 17:04:12 haem-desktop pulseaudio[7052]: Failed to load authentication key '/home/haem/.config/pulse/cookie': Tiedostoa tai hakemistoa ei ole
marras 09 17:04:12 haem-desktop pulseaudio[7052]: Module "module-udev-detect" should be loaded once at most. Refusing to load.
marras 09 17:04:12 haem-desktop systemd[2192]: Started Sound Service.
marras 09 17:04:12 haem-desktop pulseaudio[7052]: Could not find org.bluez.BatteryProviderManager1.RegisterBatteryProvider(), is bluetoothd started with experimental features enabled (-E flag)?
marras 09 17:04:38 haem-desktop pulseaudio[7052]: Transport Acquire() failed for transport /org/bluez/hci0/dev_2C_4D_79_40_C5_3B/sep1/fd2 (Input/output error)
marras 09 17:05:02 haem-desktop pulseaudio[7052]: org.freedesktop.DBus.Properties.Get /org/bluez/hci0/dev_2C_4D_79_40_C5_3B/sep1/fd3 Volume failed: org.freedesktop.DBus.Error.InvalidArgs: No such property 'Vo>
marras 09 17:05:02 haem-desktop pulseaudio[7052]: Battery Level: 100%
marras 09 17:05:02 haem-desktop pulseaudio[7052]: Dock Status: undocked

拔下麦克风并重新插入似乎偶尔可以解决问题。问题解决后,状态如下所示

marras 09 17:04:12 haem-desktop pulseaudio[7052]: Failed to load authentication key '/home/haem/.config/pulse/cookie': Tiedostoa tai hakemistoa ei ole
marras 09 17:04:12 haem-desktop pulseaudio[7052]: Module "module-udev-detect" should be loaded once at most. Refusing to load.
marras 09 17:04:12 haem-desktop systemd[2192]: Started Sound Service.
marras 09 17:04:12 haem-desktop pulseaudio[7052]: Could not find org.bluez.BatteryProviderManager1.RegisterBatteryProvider(), is bluetoothd started with experimental features enabled (-E flag)?
marras 09 17:04:38 haem-desktop pulseaudio[7052]: Transport Acquire() failed for transport /org/bluez/hci0/dev_2C_4D_79_40_C5_3B/sep1/fd2 (Input/output error)
marras 09 17:05:02 haem-desktop pulseaudio[7052]: org.freedesktop.DBus.Properties.Get /org/bluez/hci0/dev_2C_4D_79_40_C5_3B/sep1/fd3 Volume failed: org.freedesktop.DBus.Error.InvalidArgs: No such property 'Vo>
marras 09 17:05:02 haem-desktop pulseaudio[7052]: Battery Level: 100%
marras 09 17:05:02 haem-desktop pulseaudio[7052]: Dock Status: undocked
marras 09 17:22:24 haem-desktop pulseaudio[7052]: Got POLLNVAL from ALSA
marras 09 17:22:24 haem-desktop pulseaudio[7052]: Error opening PCM device hw:1: Tiedostoa tai hakemistoa ei ole

“Tiedostoa tai hakemistoa ei ole” 表示“没有这样的文件或目录”。我已检查该文件夹是否/haem/.config/pulse/存在。

搜索单词“Arozzi”的输出结果pactl list为:

Module #8
    Name: module-alsa-card
    Argument: device_id="1" name="usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00" card_name="alsa_card.usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"
    Usage counter: 0
    Properties:
        module.author = "Lennart Poettering"
        module.description = "ALSA Card"
        module.version = "15.99.1"

...

Sink #1
    State: SUSPENDED
    Name: alsa_output.usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00.iec958-stereo
    Description: Audio Adapter (Unitek Y-247A) Digitaalinen stereo (IEC958)
    Driver: module-alsa-card.c
    Sample Specification: s16le 2ch 48000Hz
    Channel Map: front-left,front-right
    Owner Module: 8
    Mute: no
    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
    Monitor Source: alsa_output.usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00.iec958-stereo.monitor
    Latency: 0 usec, configured 0 usec
    Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS 
    Properties:
        alsa.resolution_bits = "16"
        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 = "Arozzi Sfera Microphone"
        alsa.long_card_name = "C-Media Electronics Inc. Arozzi Sfera Microphone at usb-0000:00:14.0-4, full sp"
        alsa.driver_name = "snd_usb_audio"
        device.bus_path = "pci-0000:00:14.0-usb-0:4:1.0"
        sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/sound/card1"
        udev.id = "usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00"
        device.bus = "usb"
        device.vendor.id = "0d8c"
        device.vendor.name = "C-Media Electronics, Inc."
        device.product.id = "0014"
        device.product.name = "Audio Adapter (Unitek Y-247A)"
        device.serial = "C-Media_Electronics_Inc._Arozzi_Sfera_Microphone"
        device.form_factor = "microphone"
        device.string = "iec958:1"
        device.buffering.buffer_size = "352800"
        device.buffering.fragment_size = "176400"
        device.access_mode = "mmap+timer"
        device.profile.name = "iec958-stereo"
        device.profile.description = "Digitaalinen stereo (IEC958)"
        device.description = "Audio Adapter (Unitek Y-247A) Digitaalinen stereo (IEC958)"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-input-microphone-usb"
    Ports:
        iec958-stereo-output: Digital Output (S/PDIF) (type: SPDIF, priority: 0, availability unknown)
    Active Port: iec958-stereo-output
    Formats:
        pcm

Source #1
    State: SUSPENDED
    Name: alsa_output.usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00.iec958-stereo.monitor
    Description: Monitor of Audio Adapter (Unitek Y-247A) Digitaalinen stereo (IEC958)
    Driver: module-alsa-card.c
    Sample Specification: s16le 2ch 48000Hz
    Channel Map: front-left,front-right
    Owner Module: 8
    Mute: no
    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
    Monitor of Sink: alsa_output.usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00.iec958-stereo
    Latency: 0 usec, configured 0 usec
    Flags: DECIBEL_VOLUME LATENCY 
    Properties:
        device.description = "Monitor of Audio Adapter (Unitek Y-247A) Digitaalinen stereo (IEC958)"
        device.class = "monitor"
        alsa.card = "1"
        alsa.card_name = "Arozzi Sfera Microphone"
        alsa.long_card_name = "C-Media Electronics Inc. Arozzi Sfera Microphone at usb-0000:00:14.0-4, full sp"
        alsa.driver_name = "snd_usb_audio"
        device.bus_path = "pci-0000:00:14.0-usb-0:4:1.0"
        sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/sound/card1"
        udev.id = "usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00"
        device.bus = "usb"
        device.vendor.id = "0d8c"
        device.vendor.name = "C-Media Electronics, Inc."
        device.product.id = "0014"
        device.product.name = "Audio Adapter (Unitek Y-247A)"
        device.serial = "C-Media_Electronics_Inc._Arozzi_Sfera_Microphone"
        device.form_factor = "microphone"
        device.string = "1"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-input-microphone-usb"
    Formats:
        pcm

...
Source #2
    State: SUSPENDED
    Name: alsa_input.usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00.mono-fallback
    Description: Audio Adapter (Unitek Y-247A) Mono
    Driver: module-alsa-card.c
    Sample Specification: s16le 1ch 44100Hz
    Channel Map: mono
    Owner Module: 8
    Mute: no
    Volume: mono: 48211 /  74% / -8,00 dB
            balance 0,00
    Base Volume: 27111 /  41% / -23,00 dB
    Monitor of Sink: n/a
    Latency: 0 usec, configured 0 usec
    Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
    Properties:
        alsa.resolution_bits = "16"
        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 = "Arozzi Sfera Microphone"
        alsa.long_card_name = "C-Media Electronics Inc. Arozzi Sfera Microphone at usb-0000:00:14.0-4, full sp"
        alsa.driver_name = "snd_usb_audio"
        device.bus_path = "pci-0000:00:14.0-usb-0:4:1.0"
        sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/sound/card1"
        udev.id = "usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00"
        device.bus = "usb"
        device.vendor.id = "0d8c"
        device.vendor.name = "C-Media Electronics, Inc."
        device.product.id = "0014"
        device.product.name = "Audio Adapter (Unitek Y-247A)"
        device.serial = "C-Media_Electronics_Inc._Arozzi_Sfera_Microphone"
        device.form_factor = "microphone"
        device.string = "hw:1"
        device.buffering.buffer_size = "176400"
        device.buffering.fragment_size = "88200"
        device.access_mode = "mmap+timer"
        device.profile.name = "mono-fallback"
        device.profile.description = "Mono"
        device.description = "Audio Adapter (Unitek Y-247A) Mono"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-input-microphone-usb"
    Ports:
        analog-input-mic: Microphone (type: Mic, priority: 8700, availability unknown)
    Active Port: analog-input-mic
    Formats:
        pcm

...
Card #1
    Name: alsa_card.usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00
    Driver: module-alsa-card.c
    Owner Module: 8
    Properties:
        alsa.card = "1"
        alsa.card_name = "Arozzi Sfera Microphone"
        alsa.long_card_name = "C-Media Electronics Inc. Arozzi Sfera Microphone at usb-0000:00:14.0-4, full sp"
        alsa.driver_name = "snd_usb_audio"
        device.bus_path = "pci-0000:00:14.0-usb-0:4:1.0"
        sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/sound/card1"
        udev.id = "usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00"
        device.bus = "usb"
        device.vendor.id = "0d8c"
        device.vendor.name = "C-Media Electronics, Inc."
        device.product.id = "0014"
        device.product.name = "Audio Adapter (Unitek Y-247A)"
        device.serial = "C-Media_Electronics_Inc._Arozzi_Sfera_Microphone"
        device.form_factor = "microphone"
        device.string = "1"
        device.description = "Audio Adapter (Unitek Y-247A)"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-input-microphone-usb"
    Profiles:
        input:mono-fallback: Mono Sisääntulo (sinks: 0, sources: 1, priority: 1, available: yes)
        output:analog-stereo: Analoginen stereo Ulostulo (sinks: 1, sources: 0, priority: 6500, available: yes)
        output:analog-stereo+input:mono-fallback: Analoginen stereo Ulostulo + Mono Sisääntulo (sinks: 1, sources: 1, priority: 6501, available: yes)
        output:iec958-stereo: Digitaalinen stereo (IEC958) Ulostulo (sinks: 1, sources: 0, priority: 5500, available: yes)
        output:iec958-stereo+input:mono-fallback: Digitaalinen stereo (IEC958) Ulostulo + Mono Sisääntulo (sinks: 1, sources: 1, priority: 5501, available: yes)
        off: Poissa (sinks: 0, sources: 0, priority: 0, available: yes)
    Active Profile: output:iec958-stereo+input:mono-fallback
    Ports:
        analog-input-mic: Microphone (type: Mic, priority: 8700, latency offset: 0 usec, availability unknown)
            Properties:
                device.icon_name = "audio-input-microphone"
            Part of profile(s): input:mono-fallback, output:analog-stereo+input:mono-fallback, output:iec958-stereo+input:mono-fallback
        analog-output: Analog Output (type: Analogue, priority: 9900, latency offset: 0 usec, availability unknown)
            Part of profile(s): output:analog-stereo, output:analog-stereo+input:mono-fallback
        iec958-stereo-output: Digital Output (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown)
            Part of profile(s): output:iec958-stereo, output:iec958-stereo+input:mono-fallback


通过数字卸载 alsa-card 模块(pactl unload-module 8在这种情况下)也会禁用麦克风作为输入。

pactl info告诉我默认接收器是bluez_sink.2C_4D_79_40_C5_3B.a2dp_sink。当我从设置中更改音频输出时,这会发生变化。

一个可能相关的问题是,当我断开并重新连接麦克风时,我可以在音频设置中看到麦克风作为“默认”输出。

另一个观察结果是,当我在应用程序设置中明确设置音频接收器时(例如在 Discord 桌面应用程序中),它可以正常工作。似乎只有默认接收器和/或 gnome 才会表现出这种行为。

今年 3 月底左右,这种现象似乎变得很常见。我知道它在 30 日运行正常。我唯一的解决办法是拔掉麦克风。

我想知道如何修复这个问题。如果修复不了,我想知道如何诊断这个问题,以便我可以向正确的一方提交错误报告。

答案1

我相信我已经找到了解决方案。使用pavucontrol,我找到了麦克风的音频配置文件,为其配置的配置文件是“数字立体声输出+单声道输入”,这让 pulseaudio 感到困惑。我相信这是iec958-stereo+input输出配置文件。

将其更改为“单声道输入”(我相信是这样mono-fallback)可以解决问题。

相关内容