Ubuntu 20.04 蓝牙耳机通过内置扬声器播放

Ubuntu 20.04 蓝牙耳机通过内置扬声器播放

我正在尝试将 Skullcandy Crusher Wireless 耳机与电脑配对。我能够成功配对并在声音菜单中选择它们,但不知为何音频仍然通过内置扬声器播放?

我尝试了477933, 和https://www.nielsvandermolen.com/bluetooth-headphones-ubuntu/无济于事

我的设置菜单如下所示: 设置图片 这很奇怪,因为它看起来好像输出和输入都连接在一起,但我从来没有这样设置过它们?

有人知道如何解决这个问题吗?

编辑

以下是上述教程中 dmesg 命令的打印输出

(base) aaron@aaron-Lenovo-IdeaPad-S340-15IILTouch:~$ dmesg | grep -i bluetooth # Shows all Bluetooth driver info
[    3.163206] Bluetooth: Core ver 2.22
[    3.163223] Bluetooth: HCI device and connection manager initialized
[    3.163231] Bluetooth: HCI socket layer initialized
[    3.163233] Bluetooth: L2CAP socket layer initialized
[    3.163235] Bluetooth: SCO socket layer initialized
[    3.216419] Bluetooth: hci0: Bootloader revision 0.1 build 0 week 11 2017
[    3.217429] Bluetooth: hci0: Device revision is 2
[    3.217430] Bluetooth: hci0: Secure boot is enabled
[    3.217430] Bluetooth: hci0: OTP lock is enabled
[    3.217431] Bluetooth: hci0: API lock is enabled
[    3.217431] Bluetooth: hci0: Debug lock is disabled
[    3.217432] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[    3.218922] Bluetooth: hci0: Found device firmware: intel/ibt-19-32-1.sfi
[    4.876884] Bluetooth: hci0: Waiting for firmware download to complete
[    4.877409] Bluetooth: hci0: Firmware loaded in 1623682 usecs
[    4.877453] Bluetooth: hci0: Waiting for device to boot
[    4.891412] Bluetooth: hci0: Device booted in 13645 usecs
[    4.891818] Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-19-32-1.ddc
[    4.892417] Bluetooth: hci0: Failed to send Intel_Write_DDC (-22)
[    5.114099] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    5.114101] Bluetooth: BNEP filters: protocol multicast
[    5.114104] Bluetooth: BNEP socket layer initialized
[   13.193395] Bluetooth: RFCOMM TTY layer initialized
[   13.193409] Bluetooth: RFCOMM socket layer initialized
[   13.193416] Bluetooth: RFCOMM ver 1.11
(base) aaron@aaron-Lenovo-IdeaPad-S340-15IILTouch:~$ dmesg | grep -i bluetooth | grep -i firmware # Shows Bluetooth firmware issues
[    3.217432] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[    3.218922] Bluetooth: hci0: Found device firmware: intel/ibt-19-32-1.sfi
[    4.876884] Bluetooth: hci0: Waiting for firmware download to complete
[    4.877409] Bluetooth: hci0: Firmware loaded in 1623682 usecs
(base) aaron@aaron-Lenovo-IdeaPad-S340-15IILTouch:~$ lsusb # Displays hardware connected to the USB ports
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 13d3:56b2 IMC Networks Integrated Camera
Bus 001 Device 003: ID 04f3:245a Elan Microelectronics Corp. Touchscreen
Bus 001 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 005: ID 8087:0aaa Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
(base) aaron@aaron-Lenovo-IdeaPad-S340-15IILTouch:~$ 

当我进入时,alsamixer它显示我的耳机已静音,因此我取消了静音,正如上面的 SO 问题所示,但这也无济于事。

更新

好的,我正在处理声音故障排除指南并发现了几件值得注意的事情。

  1. 当我执行时
pacmd
>>> list-sinks
>>> exit

它将蓝牙耳机列为接收器,但退出时,我的蓝牙系统崩溃了,我必须重新启动耳机才能重新连接。以下是该命令的输出:

2 sink(s) available.
    index: 0
    name: <alsa_output.pci-0000_00_1f.3.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: 9039
    volume: front-left: 45876 /  70% / -9.29 dB,   front-right: 45876 /  70% / -9.29 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: 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 .. 371.52 ms
    card: 0 <alsa_card.pci-0000_00_1f.3>
    module: 7
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "ALC257 Analog"
        alsa.id = "ALC257 Analog"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "0"
        alsa.card_name = "HDA Intel PCH"
        alsa.long_card_name = "HDA Intel PCH at 0x6001110000 irq 142"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:1f.3"
        sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "34c8"
        device.product.name = "Smart Sound Technology Audio Controller"
        device.form_factor = "internal"
        device.string = "front:0"
        device.buffering.buffer_size = "65536"
        device.buffering.fragment_size = "32768"
        device.access_mode = "mmap+timer"
        device.profile.name = "analog-stereo"
        device.profile.description = "Analog Stereo"
        device.description = "Built-in Audio Analog Stereo"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    ports:
        analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: unknown)
            properties:
                device.icon_name = "audio-speakers"
        analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "audio-headphones"
    active port: <analog-output-speaker>
  * index: 1
    name: <bluez_sink.38_F3_2E_BA_F6_B6.a2dp_sink>
    driver: <module-bluez5-device.c>
    flags: HARDWARE DECIBEL_VOLUME LATENCY 
    state: SUSPENDED
    suspend cause: IDLE
    priority: 9050
    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: 3 KiB
    max rewind: 0 KiB
    monitor source: 2
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    fixed latency: 45.32 ms
    card: 1 <bluez_card.38_F3_2E_BA_F6_B6>
    module: 23
    properties:
        bluetooth.protocol = "a2dp_sink"
        device.description = "Crusher Wireless"
        device.string = "38:F3:2E:BA:F6:B6"
        device.api = "bluez"
        device.class = "sound"
        device.bus = "bluetooth"
        device.form_factor = "headset"
        bluez.path = "/org/bluez/hci0/dev_38_F3_2E_BA_F6_B6"
        bluez.class = "0x240404"
        bluez.alias = "Crusher Wireless"
        device.icon_name = "audio-headset-bluetooth"
        device.intended_roles = "phone"
    ports:
        headset-output: Headset (priority 0, latency offset 0 usec, available: unknown)
            properties:
                
    active port: <headset-output>

注意耳机没有静音,输出音量为100%

  1. 当我执行时,aplay /usr/share/sounds/alsa/Front_Center.wav声音从耳机里出来!但如果我返回设置菜单并尝试使用test扬声器,或者如果我通过 Firefox 播放音乐,声音仍然会从内置扬声器中出来。

  2. 其余步骤均正常,但我注意到,当我使用aplay -l列表时,不包括耳机作为音频接收器,这可能很重要?我不知道。

以下是本指南相应命令的输出:

aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC257 Analog [ALC257 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
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 12: HDMI 6 [HDMI 6]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

find /lib/modules/uname -r| grep snd

/lib/modules/5.4.0-42-generic/kernel/sound/synth/snd-util-mem.ko
/lib/modules/5.4.0-42-generic/kernel/sound/synth/emux/snd-emux-synth.ko
/lib/modules/5.4.0-42-generic/kernel/sound/pci/snd-es1968.ko
...
/lib/modules/5.4.0-42-generic/kernel/sound/drivers/snd-virmidi.ko
/lib/modules/5.4.0-42-generic/kernel/sound/drivers/opl3/snd-opl3-lib.ko
/lib/modules/5.4.0-42-generic/kernel/sound/drivers/opl3/snd-opl3-synth.ko

完整输出可以在这里找到:https://pastebin.com/6dXhsa8h

lspci -v | grep -A7 -i "audio"

00:1f.3 Audio device: Intel Corporation Smart Sound Technology Audio Controller (rev 30) (prog-if 80)
    Subsystem: Lenovo Smart Sound Technology Audio Controller
    Flags: bus master, fast devsel, latency 32, IRQ 142
    Memory at 6001110000 (64-bit, non-prefetchable) [size=16K]
    Memory at 6001000000 (64-bit, non-prefetchable) [size=1M]
    Capabilities: <access denied>
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel, snd_sof_pci

更新

根据要求,以下是指定步骤的输出这里

1.1cat /proc/asound/cards

 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0x6001110000 irq 142

1.2lsmod | grep snd

snd_sof_pci            20480  0
snd_sof_intel_hda_common    69632  1 snd_sof_pci
snd_soc_hdac_hda       24576  1 snd_sof_intel_hda_common
snd_sof_intel_hda      20480  1 snd_sof_intel_hda_common
snd_sof_intel_byt      20480  1 snd_sof_pci
snd_sof_intel_ipc      20480  1 snd_sof_intel_byt
snd_hda_codec_hdmi     61440  1
snd_sof               106496  4 snd_sof_pci,snd_sof_intel_hda_common,snd_sof_intel_byt,snd_sof_intel_ipc
snd_sof_xtensa_dsp     16384  1 snd_sof_pci
snd_hda_ext_core       28672  3 snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
snd_soc_acpi_intel_match    32768  2 snd_sof_pci,snd_sof_intel_hda_common
snd_soc_acpi           16384  2 snd_sof_pci,snd_soc_acpi_intel_match
snd_soc_core          245760  3 snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda
snd_compress           24576  1 snd_soc_core
ac97_bus               16384  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_hda_codec_realtek   122880  1
snd_hda_codec_generic    81920  1 snd_hda_codec_realtek
ledtrig_audio          16384  3 snd_hda_codec_generic,snd_hda_codec_realtek,snd_sof
snd_hda_intel          53248  4
snd_intel_dspcfg       24576  3 snd_hda_intel,snd_sof_pci,snd_sof_intel_hda_common
snd_hda_codec         131072  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda
snd_hda_core           90112  9 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
snd_hwdep              20480  1 snd_hda_codec
snd_pcm               106496  9 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_sof,snd_sof_intel_hda_common,snd_soc_core,snd_hda_core,snd_pcm_dmaengine
snd_seq_midi           20480  0
snd_seq_midi_event     16384  1 snd_seq_midi
snd_rawmidi            36864  1 snd_seq_midi
snd_seq                69632  2 snd_seq_midi,snd_seq_midi_event
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
snd_timer              36864  2 snd_seq,snd_pcm
snd                    90112  20 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi
soundcore              16384  1 snd

1.4inxi -SA

System:    Host: aaron-Lenovo-IdeaPad-S340-15IILTouch Kernel: 5.4.0-42-generic x86_64 bits: 64 Desktop: Gnome 3.36.4 
           Distro: Ubuntu 20.04.1 LTS (Focal Fossa) 
Audio:     Device-1: Intel Smart Sound Audio driver: snd_hda_intel 
           Sound Server: ALSA v: k5.4.0-42-generic 

1.5lspci -nnk | grep -n -A 4 Audio

55:00:1f.3 Audio device [0403]: Intel Corporation Smart Sound Technology Audio Controller [8086:34c8] (rev 30)
56: Subsystem: Lenovo Smart Sound Technology Audio Controller [17aa:3821]
57- Kernel driver in use: snd_hda_intel
58- Kernel modules: snd_hda_intel, snd_sof_pci
59-00:1f.4 SMBus [0c05]: Intel Corporation Ice Lake-LP SMBus Controller [8086:34a3] (rev 30)
60- Subsystem: Lenovo Ice Lake-LP SMBus Controller [17aa:3804]

1.6uname -a

Linux aaron-Lenovo-IdeaPad-S340-15IILTouch 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

1.7aplay -l参见之前的更新 1.8sudo lshw -C multimedia

  *-usb:2
       description: Video
       product: Integrated Camera
       vendor: SunplusIT Inc
       physical id: 6
       bus info: usb@1:6
       version: 17.11
       capabilities: usb-2.01
       configuration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
  *-multimedia
       description: Audio device
       product: Smart Sound Technology Audio Controller
       vendor: Intel Corporation
       physical id: 1f.3
       bus info: pci@0000:00:1f.3
       version: 30
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi bus_master cap_list
       configuration: driver=snd_hda_intel latency=32
       resources: iomemory:600-5ff iomemory:600-5ff irq:142 memory:6001110000-6001113fff memory:6001000000-60010fffff

1.9dpkg -l | grep alsa

ii  alsa-base                                  1.0.25+dfsg-0ubuntu5                  all          ALSA driver configuration files
ii  alsa-topology-conf                         1.2.2-1                               all          ALSA topology configuration files
ii  alsa-ucm-conf                              1.2.2-1ubuntu0.1                      all          ALSA Use Case Manager configuration files
ii  alsa-utils                                 1.2.2-1ubuntu1                        amd64        Utilities for configuring and using ALSA
ii  gstreamer1.0-alsa:amd64                    1.16.2-4                              amd64        GStreamer plugin for ALSA

1.10dpkg -l | grep linux- | grep $(uname -r)

ii  linux-headers-5.4.0-42-generic             5.4.0-42.46                           amd64        Linux kernel headers for version 5.4.0 on 64 bit x86 SMP
ii  linux-image-5.4.0-42-generic               5.4.0-42.46                           amd64        Signed kernel image generic
ii  linux-modules-5.4.0-42-generic             5.4.0-42.46                           amd64        Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
ii  linux-modules-extra-5.4.0-42-generic       5.4.0-42.46                           amd64        Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP

答案1

我首先建议重建新的脉冲音频您的用户帐户的配置。在许多情况下,这可能会解决问题,或者至少排除与 pulseaudio 配置相关的问题。

软件包升级后,旧pulseaudio配置文件有时会与新版本发生冲突pulseaudio。要解决此问题,请按照以下步骤操作:

  • 通过在终端中运行以下命令将~/.config/pulse/配置目录备份到:~/.config/pulse_old/

    mv ~/.config/pulse/ ~/.config/pulse_old/

  • 之后,请重新启动系统以建立新的pulseaudio配置文件。~/.config/pulse/将自动创建一个新目录。

  • 现在测试您的音频。

如果,不知何故,应用此修复后如果您决定返回到应用修复之前的状态,请按照以下步骤操作:

  1. 在终端中运行以下命令:

    rm -r ~/.config/pulse/

  2. 在终端中运行以下命令:

    mv ~/.config/pulse_old/ ~/.config/pulse/

  3. 重新启动系统。

然而,如果一切顺利,问题得到解决~/.config/pulse_old/,您可以通过在终端中运行以下命令来删除备份的旧配置目录以释放空间(如果您愿意):

rm -r  ~/.config/pulse_old/

答案2

我曾经遇到过类似的问题,视窗Linux,这两个系统的解决方案都是禁用耳机麦克风(选择内置麦克风)。

它似乎(此处讨论)蓝牙接口仅支持其中一种

  • 高品质 (a2dp) 音频输出,或
  • 高品质 (a2dp) 麦克风输入,或
  • 低质量(hsp/hfp)输入和输出。

可能是您的耳机麦克风正在以高质量捕捉声音,因此它会阻塞您的耳机扬声器。

答案3

如果你使用的是 Ubuntu 20.04,我建议代替 PulseaudioPipewire它将适用于您的所有应用程序,因为它旨在通过为 JACK 客户端提供与 PulseAudio 兼容的服务器实现和与 ABI 兼容的库来取代 PulseAudio 和 JACK 。

我运行的是 Ubuntu 20.04.3,到目前为止,Pipewire 运行非常稳定。我的蓝牙耳机现在可以与 Microsoft Teams 配合使用。就我而言,我同时运行 Bitwig、Spotify、Youtube 等,它可以与每个输出设备(蓝牙耳机、RME 音频接口、内置扬声器)配合使用。

我发布了安装步骤的链接,对我有用:在 Ubuntu 20.04 中用 Pipewire 替换 Pulseaudio

相关内容