Ubuntu 16.04蓝牙耳机-无法将配置文件更改为a2dp_接收器

Ubuntu 16.04蓝牙耳机-无法将配置文件更改为a2dp_接收器,ubuntu,bluetooth,headphones,a2dp,Ubuntu,Bluetooth,Headphones,A2dp,我有蓝牙耳机索尼WH-1000XM3和Ubuntu 16.04。 我已成功配对设备,但无法将配置文件更改为a2dp。 无论我做了什么,它总是失败,并显示消息“未能将配置文件更改为a2dp_接收器” 我试过: 什么都不管用。 请帮忙 一些信息: bluez 5.37-0ubuntu5.1 脉冲音频1:8.0-0 uBuntu3.10 /etc/bluetooth/audio.conf # Configuration file for the audio service # This

我有蓝牙耳机索尼WH-1000XM3和Ubuntu 16.04。 我已成功配对设备,但无法将配置文件更改为a2dp。 无论我做了什么,它总是失败,并显示消息“未能将配置文件更改为a2dp_接收器”

我试过:

什么都不管用。 请帮忙

一些信息:

  • bluez 5.37-0ubuntu5.1
  • 脉冲音频1:8.0-0 uBuntu3.10
/etc/bluetooth/audio.conf

# Configuration file for the audio service
# This section contains options which are not specific to any
# particular interface
[General]
Enable=Gateway,Source

# Switch to master role for incoming connections (defaults to true)
Master=true

# If we want to disable support for specific services
# Defaults to supporting all implemented services
#Disable=Gateway,Source,Socket
Disable=Socket,Headset

# SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
# Defaults to HCI
#SCORouting=HCI

# Automatically connect both A2DP and HFP/HSP profiles for incoming
# connections. Some headsets that support both profiles will only connect the
# other one automatically so the default setting of true is usually a good
# idea.
AutoConnect=true

# Headset interface specific options (i.e. options which affect how the audio
# service interacts with remote headset devices)
[Headset]

# Set to true to support HFP, false means only HSP is supported
# Defaults to true
HFP=true

# Maximum number of connected HSP/HFP devices per adapter. Defaults to 1
MaxConnected=2

# Set to true to enable use of fast connectable mode (faster page scanning)
# for HFP when incoming call starts. Default settings are restored after
# call is answered or rejected. Page scan interval is much shorter and page
# scan type changed to interlaced. Such allows faster connection initiated
# by a headset.
FastConnectable=true

# Just an example of potential config options for the other interfaces
#[A2DP]
#SBCSources=1
#MPEG12Sources=0
# Configuration file for the audio service
# This section contains options which are not specific to any
# particular interface
[General]
Enable=Gateway,Source

# Switch to master role for incoming connections (defaults to true)
Master=true

# If we want to disable support for specific services
# Defaults to supporting all implemented services
#Disable=Gateway,Source,Socket
Disable=Socket

# SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
# Defaults to HCI
#SCORouting=HCI

# Automatically connect both A2DP and HFP/HSP profiles for incoming
# connections. Some headsets that support both profiles will only connect the
# other one automatically so the default setting of true is usually a good
# idea.
AutoConnect=true

# Headset interface specific options (i.e. options which affect how the audio
# service interacts with remote headset devices)
[Headset]

# Set to true to support HFP, false means only HSP is supported
# Defaults to true
HFP=true

# Maximum number of connected HSP/HFP devices per adapter. Defaults to 1
MaxConnected=2

# Set to true to enable use of fast connectable mode (faster page scanning)
# for HFP when incoming call starts. Default settings are restored after
# call is answered or rejected. Page scan interval is much shorter and page
# scan type changed to interlaced. Such allows faster connection initiated
# by a headset.
FastConnectable=true

# Just an example of potential config options for the other interfaces
#[A2DP]
#SBCSources=1
#MPEG12Sources=0
# Configuration file for the input service

# This section contains options which are not specific to any
# particular interface
[General]

# Set idle timeout (in minutes) before the connection will
# be disconnect (defaults to 0 for no timeout)
IdleTimeout=0

# Enable HID protocol handling in userspace input profile
# Defaults to false (HIDP handled in HIDP kernel module)
#UserspaceHID=true
/etc/pulse/default.pa

#!/usr/bin/pulseaudio -nF
#
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

# This startup script is used only if PulseAudio is started per-user
# (i.e. not in system mode)

.nofail

### Load something into the sample cache
#load-sample-lazy x11-bell /usr/share/sounds/freedesktop/stereo/bell.oga
#load-sample-lazy pulse-hotplug /usr/share/sounds/freedesktop/stereo/device-added.oga
#load-sample-lazy pulse-coldplug /usr/share/sounds/freedesktop/stereo/device-added.oga
#load-sample-lazy pulse-access



/usr/share/sounds/freedesktop/stereo/message.oga

.fail

### Automatically restore the volume of streams and devices
load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore

### Automatically augment property information from .desktop files
### stored in /usr/share/application
load-module module-augment-properties

### Should be after module-*-restore but before module-*-detect
load-module module-switch-on-port-available

### Load audio drivers statically
### (it's probably better to not load these drivers manually, but instead
### use module-udev-detect -- see below -- for doing this automatically)
#load-module module-alsa-sink
#load-module module-alsa-source device=hw:1,0
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink

### Automatically load driver modules depending on the hardware available Matt remove tsched below
.ifexists module-udev-detect.so
load-module module-udev-detect tsched=0
.else
### Use the static hardware detection module (for systems that lack udev support)
load-module module-detect
.endif

### Automatically connect sink and source if JACK server is present
.ifexists module-jackdbus-detect.so
.nofail
load-module module-jackdbus-detect channels=2
.fail
.endif

### Automatically load driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
load-module module-bluetooth-policy
.endif

.ifexists module-bluetooth-discover.so
#load-module module-bluetooth-discover
.endif

### Load several protocols
.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix

### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp
#load-module module-zeroconf-publish

### Load the RTP receiver module (also configured via paprefs, see above)
#load-module module-rtp-recv

### Load the RTP sender module (also configured via paprefs, see above)
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
#load-module module-rtp-send source=rtp.monitor

### Load additional modules from GConf settings. This can be configured with the paprefs tool.
### Please keep in mind that the modules configured by paprefs might conflict with manually
### loaded modules.
.ifexists module-gconf.so
.nofail
load-module module-gconf
.fail
.endif

### Automatically restore the default sink/source when changed by the user
### during runtime
### NOTE: This should be loaded as early as possible so that subsequent modules
### that look up the default sink/source get the right value
load-module module-default-device-restore

### Automatically move streams to the default sink if the sink they are
### connected to dies, similar for sources
load-module module-rescue-streams

### Make sure we always have a sink around, even if it is a null sink.
load-module module-always-sink

### Honour intended role device property
load-module module-intended-roles

### Automatically suspend sinks/sources that become idle for too long
# Disable below if problems Matt
load-module module-suspend-on-idle timeout=30

### If autoexit on idle is enabled we want to make sure we only quit
### when no local session needs us anymore.
.ifexists module-console-kit.so
load-module module-console-kit
.endif
.ifexists module-systemd-login.so
load-module module-systemd-login
.endif

### Enable positioned event sounds
load-module module-position-event-sounds

### Cork music/video streams when a phone stream is active
#load-module module-role-cork

### Modules to allow autoloading of filters (such as echo cancellation)
### on demand. module-filter-heuristics tries to determine what filters
### make sense, and module-filter-apply does the heavy-lifting of
### loading modules and rerouting streams.
load-module module-filter-heuristics
load-module module-filter-apply

# X11 modules should not be started from default.pa so that one daemon
# can be shared by multiple sessions.

### Load X11 bell module
#load-module module-x11-bell sample=x11-bell

### Register ourselves in the X11 session manager
#load-module module-x11-xsmp

### Publish connection data in the X11 root window
#.ifexists module-x11-publish.so
#.nofail
#load-module module-x11-publish
#.fail
#.endif

### Make some devices default
#set-default-sink output
#set-default-source input

# automatically switch to newly-connected devices
load-module module-switch-on-connect
/etc/bluetooth/input.conf

# Configuration file for the audio service
# This section contains options which are not specific to any
# particular interface
[General]
Enable=Gateway,Source

# Switch to master role for incoming connections (defaults to true)
Master=true

# If we want to disable support for specific services
# Defaults to supporting all implemented services
#Disable=Gateway,Source,Socket
Disable=Socket,Headset

# SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
# Defaults to HCI
#SCORouting=HCI

# Automatically connect both A2DP and HFP/HSP profiles for incoming
# connections. Some headsets that support both profiles will only connect the
# other one automatically so the default setting of true is usually a good
# idea.
AutoConnect=true

# Headset interface specific options (i.e. options which affect how the audio
# service interacts with remote headset devices)
[Headset]

# Set to true to support HFP, false means only HSP is supported
# Defaults to true
HFP=true

# Maximum number of connected HSP/HFP devices per adapter. Defaults to 1
MaxConnected=2

# Set to true to enable use of fast connectable mode (faster page scanning)
# for HFP when incoming call starts. Default settings are restored after
# call is answered or rejected. Page scan interval is much shorter and page
# scan type changed to interlaced. Such allows faster connection initiated
# by a headset.
FastConnectable=true

# Just an example of potential config options for the other interfaces
#[A2DP]
#SBCSources=1
#MPEG12Sources=0
# Configuration file for the audio service
# This section contains options which are not specific to any
# particular interface
[General]
Enable=Gateway,Source

# Switch to master role for incoming connections (defaults to true)
Master=true

# If we want to disable support for specific services
# Defaults to supporting all implemented services
#Disable=Gateway,Source,Socket
Disable=Socket

# SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
# Defaults to HCI
#SCORouting=HCI

# Automatically connect both A2DP and HFP/HSP profiles for incoming
# connections. Some headsets that support both profiles will only connect the
# other one automatically so the default setting of true is usually a good
# idea.
AutoConnect=true

# Headset interface specific options (i.e. options which affect how the audio
# service interacts with remote headset devices)
[Headset]

# Set to true to support HFP, false means only HSP is supported
# Defaults to true
HFP=true

# Maximum number of connected HSP/HFP devices per adapter. Defaults to 1
MaxConnected=2

# Set to true to enable use of fast connectable mode (faster page scanning)
# for HFP when incoming call starts. Default settings are restored after
# call is answered or rejected. Page scan interval is much shorter and page
# scan type changed to interlaced. Such allows faster connection initiated
# by a headset.
FastConnectable=true

# Just an example of potential config options for the other interfaces
#[A2DP]
#SBCSources=1
#MPEG12Sources=0
# Configuration file for the input service

# This section contains options which are not specific to any
# particular interface
[General]

# Set idle timeout (in minutes) before the connection will
# be disconnect (defaults to 0 for no timeout)
IdleTimeout=0

# Enable HID protocol handling in userspace input profile
# Defaults to false (HIDP handled in HIDP kernel module)
#UserspaceHID=true

什么样的工作对我来说是一个序列,如下所示:

  • 如果之前已配对,请从蓝牙设备中卸下耳机
  • 在耳机上启用配对模式
  • 打开蓝牙设置并单击添加
  • 此时,您可能已经看到一个名为
    LE_WH-1000XM3
    的未知类型的设备-不要配对
  • 从设备类型过滤器下拉列表中选择耳机、耳机和其他音频设备(可选)
  • 等待直到出现带耳机类型的
    WH-1000XM3
    设备
  • 配对
  • 运行Blueman(如果尚未安装,请安装),此时配对的耳机设备名称再次以
    LE_WH-
    开头
  • 右键单击设备并选择设置
  • 选择音频接收器并单击下一步
  • 只有在这一点上我的耳机告诉我蓝牙连接,耶!设备名称更改为
    WH-
    ,但不带
    LE
    前缀(尽管您需要关闭并重新打开Blueman以刷新列出的名称,但您仍将在声音设置中看到)
  • 转到“声音设置”,确保所选播放音频设备是耳机(可能不是),并且已选择高保真播放模式(A2DP接收器)(应该已经选择)
  • 很快,当耳机作为
    LE_WH-1000XM3
    连接时,它们就不工作了。无论是在Blueman还是在sound settings(声音设置)模式下,都不可能更改音频配置文件,实际上在这里它们根本没有列出,即使它们是作为音频设备连接的(从第6点开始的等待)。 当以
    WH-1000XM3
    连接时,所有音频功能都可用且工作正常(就像Linux上的蓝牙音频一样)。仍然可能需要手动选择所需的音频配置文件,但这只是比较整个耳机设置问题的一个小麻烦

    最糟糕的是,一旦我断开耳机并再次连接,无论我做什么,它们都会保持
    LE_WH-1000XM3
    。因此,我需要重新解开并完成整个过程(╯°□°)╯︵ ┻━┻


    额外信息:
    LE
    代表低能耗蓝牙标准。我猜耳机广告连接有两种模式,常规模式和LE模式。两者都可以连接,但Ubuntu 16.04只支持一种音频。我想知道如何强制执行常规或完全禁用LE模式,因为它似乎总是回退到LE模式,整个配对必须再次进行。

    我正在添加另一个答案,因为我不确定这种方式的确定性有多大。此外,这是一个折衷低能耗传输设备连接的解决方案

    在我位于
    /etc/bluetooth/main.conf的机器上,有以下属性:

    # Restricts all controllers to the specified transport. Default value
    # is "dual", i.e. both BR/EDR and LE enabled (when supported by the HW).
    # Possible values: "dual", "bredr", "le"
    #ControllerMode = dual
    
    要禁用低能传输,我已取消注释并设置值:

    ControllerMode = bredr
    
    然后我重新启动了蓝牙服务(或重新启动),并在系统蓝牙设置下再次配对了我的索尼WH-1000XM3。从我给出的另一个答案来看,它很快就奏效了,甚至没有使用Blueman或任何其他令人抓狂的技巧。
    显然,连接到名为
    LE_WH-1000XM3
    的设备的问题现在不存在,因为笔记本电脑上的蓝牙主机不监听任何LE设备。我希望这能永远解决这个问题。

    我也遇到过同样的情况。最终安装bluez-5.52完美地解决了这个问题。据说以前版本的bluez中的bug导致了这个问题。您只需下载源代码并运行

    ./configure
    make
    sudo make install
    sudo systemctl daemon-reload
    sudo service bluetooth restart
    
    享受吧

    参考:

    thx!我用我的索尼耳机2年没有a2dp。一个简单的配置解决了它!!!它很有魅力,谢谢!唯一的区别是,在Blueman中,设备名称没有以
    LE_
    开头(步骤8)。我还没有尝试过断开/连接部分,但只要能够在不必更改配置文件的情况下进行配对就已经很轻松了。