![蓝牙耳机音量太小(仅限拱形)](https://linux22.com/image/131435/%E8%93%9D%E7%89%99%E8%80%B3%E6%9C%BA%E9%9F%B3%E9%87%8F%E5%A4%AA%E5%B0%8F%EF%BC%88%E4%BB%85%E9%99%90%E6%8B%B1%E5%BD%A2%EF%BC%89.png)
我尽可能连接了一对 AirPods。 Android、OSX、Linux Mint、Arch LInux。在所有这些设备上听起来都很棒,但是当在 Arch 下连接时,即使我最大化了我能找到的所有音量,我也只能得到不到一半的音量。奇怪的是,Mint 的音量调得恰到好处。正是出于这个原因,我切换到 Linux Mint 一段时间。但我更喜欢阿奇。它更流畅、更快。 Pacman 是另一个易于使用的工具。但是,我搜索了所有蓝牙音量的解决方案,但没有一个有效。有线耳机和笔记本电脑扬声器的音量响亮而清晰。问题仅存在于依赖源设置音量的蓝牙设备中。如果设备有自己的音量按钮,那么我可以一直调高音量。
在 Gnome 声音设置中,我尝试超过 100%,但声音失真。
我尝试了 alsamixer 和 pavucontrol。所有音量均已达到最大,但我只获得英特尔卡和 PulseAudio。我还应该有一个蓝牙音量吗?
![](https://snag.gy/9tp63J.jpg)
![](https://snag.gy/RPZJaL.jpg)
我还发现PulseAudio/故障排除 - 音量调节无法正常工作其中提到了65536的音量上限。由于声音清晰,我相信这个音量限制是我的问题的根源。但即使我尝试像那里提到的那样增加音量,我也无法超过 65536 的上限。
$ amixer set Master 12345+
Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 65536
Mono:
Front Left: Playback 65536 [100%] [on]
Front Right: Playback 65536 [100%] [on]
调试ALSA驱动程序的Bad dB信息描述了同样的问题,但我无法使用此工具获得任何信息。
我相信应该有一种方法来设置每个蓝牙设备的配置并设置下限和上限。或者,也许将音量设置为 dB 而不是绝对值可能会有所帮助,但在 /etc/pulse/daemon.conf 中禁用平卷没有任何作用。
我能够与 LinuxMint 进行的唯一比较是 Mint 设置的是 dB 而不是绝对值。 (我有一个实时 USB,所以我可以随时在 Mint 中启动)
欢迎任何建议。
答案1
VMG 的答案是微妙错误的;它在技术上可以工作,但它会禁用除 a2dp 之外的所有其他插件,这意味着蓝牙键盘/鼠标/游戏手柄/等将停止工作,而导致问题的唯一插件似乎是一个名为 avrcp 的插件。
编辑
/lib/systemd/system/bluetooth.service
并改变
ExecStart=/usr/lib/bluetooth/bluetoothd
到
ExecStart=/usr/lib/bluetooth/bluetoothd--noplugin=avrcp
并运行
sudo systemctl daemon-reload
sudo systemctl restart bluetooth
答案2
对于我的 WF-1000XM3,删除 AVRCP 不起作用。事实上,行之有效的却是相反的。我使用AVRCP直接发送音量增大命令。我使用 D-Bus 与 BlueZ 交互如下这个答案。
就我而言,完整命令是:
dbus-send --print-reply --system --dest=org.bluez /org/bluez/hci0/dev_<mac_address_of_headphones> org.bluez.MediaControl1.VolumeUp
答案3
我找到了针对 Sony WF-1000XM3 的修复方法,该修复方法可能适用于其他设备:索尼 WF-1000XM3 具有内部音量设置。Windows、Android 和 iOS 显然都足够聪明,可以自动操纵它。 Manjaro/Arch 和显然其他 Linux 发行版的情况并非如此。
解决方法很简单:将耳机连接到手机并启动官方的 Sony Headphones Connect 应用程序,然后将音量滑块一直向右移动至最大。然后将它们重新连接到您的 Linux PC。小心不要吵到自己,把系统音量调小一点。
YMMV,但这也可能适用于其他耳机,因此绝对值得分享。
编辑:我找到了更好的解决方法。同样的想法,但您可以通过重新映射耳机本身的触摸功能来改变索尼的内部音量(而不是前面提到的解决方法,这需要抓住您的手机并取消配对和修复)。通过触摸耳机来控制音量的功能是耳机首次亮相后的某个时候启用的功能。请参阅此处的说明:https://www.sony.com/ electronics/support/wireless-headphones-bluetooth-headphones/wf-1000xm3/articles/00230635
另一位用户报告说:此外,连接到 Ubuntu 发行版和 Windows 的 AirPods Pro 也同样有效。由于某些原因,连接到 ubuntu 的 AirPods 音量较小。我尝试采纳索尼的建议,但在 Windows 上连接了 AirPods,并将音量调至最大。然后我切换到 ubuntu,取下并配对 AirPods 并检查音量。它已修复,声音响亮且清晰! Linux 薄荷 20。
答案4
对于使用 Ubuntu 18.04 的我来说,既没有--noplugin=avrcp
也--plugin=a2dp
没有使我的 AirPods 以最大音量工作。我发现有一个 DBus 属性允许/org/bluez/hci0/dev_<MAC here>/fd0
通过 AVRCP 设置音量,但由于某种原因它默认不起作用。我更改了 bluez 中的源代码,如下所示,以使其正常工作:
profiles/audio/transport.c
static gboolean volume_exists(const GDBusPropertyTable *property, void *data)
{
struct media_transport *transport = data;
struct a2dp_transport *a2dp = transport->data;
return TRUE; // <-- Always return true to allow Volume to be set
}
重建并安装 bluez 并重新安装pulseaudio-module-bluetooth 后,您应该能够连接到 AirPods 或任何其他 AVRCP 可控设备并发出以下命令来设置音量。
dbus-send --print-reply --system --dest=org.bluez /org/bluez/hci0/dev_<mac address>/fd0 org.freedesktop.DBus.Properties.Set string:org.bluez.MediaTransport1 string:Volume variant:uint16:###
###
应替换为 0 到 127 之间的音量