SDB:蓝牙耳机

跳转到:导航搜索

在 openSUSE 11.2 中设置蓝牙耳机

GNOME 中的简单设置

现在在 GNOME 中为 openSUSE 11.2 设置蓝牙 (BT) 耳机非常简单。在 BT 应用程序“设置新设备”中连接耳机,并查看耳机将出现在音量应用程序的“声音首选项”中的“硬件”选项卡中。在“输出”选项卡中,您可以选择声音输出将指向的位置。

在 openSUSE 11.1 中设置蓝牙耳机 HOWTO

简介

我们将为 openSUSE 11.1 设置蓝牙 (BT) 耳机。在此系统中,PulseAudio (PA) 0.9.12 是默认的音频系统。现在使用 PA 0.9.12 设置 BT 耳机并不容易,因此我们将使用 ALSA 音频系统来使用 BT 耳机,同时保留 PA 作为默认音频系统。在这种情况下,BT 耳机只能与可以定向到特定 ALSA 设备的应用程序一起使用。

首先,我们将配对 BT 耳机。然后,我们将为 ALSA 音频系统准备配置文件 ~/.asoundrc,然后我们将测试声音输出到 BT 耳机。如果出现问题,请参阅故障排除部分并检查是否已安装所有软件包。

不幸的是,存在一个令人讨厌的问题,如果您尝试将 BT 耳机与其他 BT 设备(通常是 BT 键盘和鼠标)一起使用时,您会观察到该问题。在这种情况下,当移动 BT 鼠标或键入键盘时,BT 耳机中的声音会被中断。即使使用一个专门用于音频传输的 BT 适配器,此问题仍然存在。BT 架构考虑了音频传输的特殊性,并为 SW 开发人员提供了一个专用的音频通道。这个问题尚未解决。

您还可以观察到播放电影时视频和音频不同步。BT 耳机希望通过缓冲声音来避免中断,从而导致延迟。

查找蓝牙耳机地址

将 BT 耳机的 BT 地址存储在文本文件中是一个好主意,这样我们就可以在将来需要时剪切和粘贴该地址。为此,我们将 BT 耳机置于配对模式。这取决于设备,因此请参阅设备的用户指南以获取有关如何操作的说明。然后,我们打开一个终端,并以 root 身份发出命令

       # hcitool scan
       Scanning ...
       00:1F:3A:FB:96:B2       linux-8hlf-0
       00:1E:4C:D5:E2:92       linux-09eo-0
       00:13:17:72:CD:FF       Jabra BT620s

在这里,我们看到 BT 耳机“Jabra BT620s”和 BT 地址“00:13:17:72:CD:FF”。要将地址存储在文本文件中,我们可以剪切和粘贴屏幕上的输出。我们还可以使用命令

       # hcitool scan > bt.devices

配对蓝牙耳机

BT 耳机配对在 KDE 和 GNOME 中进行了测试,但通常 BT 耳机的用法不取决于使用的显示管理器。

目前,kbluetooth4 存在问题,已损坏且无法为 KDE 执行配对。在这种情况下,安装 bluez-gnome 包并启动 bluetooth-applet,它也可以在 KDE 中很好地工作。

如果 bluetooth-applet 正在运行并且 BT 适配器已打开,则 KDE/GNOME 面板中会有一个 BT 图标,该图标会调用 BT applet 的界面。此 BT applet 允许用户控制和与 BT 子系统进行通信。要设置新设备,我们将新设备设置为配对模式。这取决于设备,因此请参阅设备的用户指南以获取有关如何操作的说明。然后,我们单击 BT applet 图标并选择“设置新设备”项。在阅读简介后,我们单击“前进”按钮。然后,我们等待直到发现所有设备并且出现符号名称。然后,我们从列表中选择新设备。对于 BT 耳机,PIN 默认值为“0000”,我们应该在摘要中看到消息“成功配置新设备”。我们单击“关闭”按钮。

配置 ALSA 音频系统

通过以下设置在 /etc/asound.conf 或 ~/.asoundrc 配置文件中,可以将发送到 ALSA 的声音输出重定向到 Pulse Audio (PA)。

       # cat ~/.asoundrc
       pcm.!default {
               type pulse
       }
       ctl.!default {
               type pulse
       }

现在我们可以使用命令测试声音系统

       # aplay /usr/share/sounds/startup3.wav

我们应该听到来自计算机扬声器的声音。

使用 ALSA 音频系统配置蓝牙耳机

要使用 BT 耳机,我们将以下部分添加到文件 ~/.asoundrc

       pcm.btheadset {
               type bluetooth
               device "00:13:17:72:CD:FF"
       }

在这种情况下,我们使用了在之前部分中找到的“Jabra BT620s”的 BT 地址“00:13:17:72:CD:FF”。请将地址替换为您的特定 BT 耳机的地址。然后,我们使用命令测试 BT 耳机

       # aplay -D btheadset /usr/share/sounds/startup3.wav

我们应该听到来自 BT 耳机的声音。

因此,默认情况下,使用 ALSA 音频系统的应用程序的音频输出会重定向到 PA。然后我们可以使用 GNOME 面板中的“音量控制”设置 PA 音量并混合声音。但是,我们无法使用 GNOME 面板中的“音量控制”设置 BT 耳机的音量。相反,我们使用 BT 耳机上的音量控制。

有关受支持的播放器的列表,请参阅 wiki:http://wiki.bluez.org/wiki/HOWTO/AudioDevices#SupportedPlayers 请注意,此网页中的 BT 耳机名为“bluetooth”。我们在示例中使用符号名称“btheadset”代替。

例如,要使用 mplayer 使用 BT 耳机,我们可以使用命令

       # mplayer -ao alsa:device=btheadset /usr/share/sounds/startup3.wav

故障排除

(a) 检查是否已安装所有软件包

       - bluez-alsa

(b) 检查您的 BT 控制器。

       # hciconfig -a
       hci0:   Type: USB
       BD Address: 00:1E:3D:F7:74:C4 ACL MTU: 1021:8 SCO MTU: 64:1
       UP RUNNING PSCAN
       RX bytes:205947 acl:9945 sco:0 events:3989 errors:0
       TX bytes:4958866 acl:6221 sco:0 commands:102 errors:0
       Features: 0xff 0xff 0x8f 0xfe 0x9b 0xff 0x79 0x83
       Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
       Link policy: RSWITCH HOLD SNIFF PARK
       Link mode: SLAVE ACCEPT
       Name: 'linux-h4dc-0'
       Class: 0x0a010c
       Service Classes: Networking, Capturing
       Device Class: Computer, Laptop
       HCI Ver: 2.1 (0x4) HCI Rev: 0xda LMP Ver: 2.1 (0x4) LMP Subver: 0x2192
       Manufacturer: Broadcom Corporation (15)

(c) 检查您的 alsa 配置文件

       # cat ~/.asoundrc
       pcm.!default {
               type pulse
       }
       ctl.!default {
               type pulse
       }
       pcm.btheadset {
               type bluetooth
               device "00:13:17:72:CD:FF"
       }

(d) 关于芯片组。如果您可以选择“剑桥硅电”。

硬件兼容性

即使使用其他 BT 设备,以下硬件也观察到无中断的音频传输。BT 控制器和 BT 耳机都需要在列表中。

此硬件有效

控制器

  * Vendor 0x1668 Actiontec Electronics, Inc. [hex] Product 0x0441 IBM Integrated Bluetooth II

耳机

  * EU3C (Cambridge Silicon Radio)

此硬件无效

这是导致声音传输中断的硬件列表。

控制器

  * Vendor: usb 0x0a5c "Broadcom Corp." Device: usb 0x2145 "ThinkPad Bluetooth with Enhanced Data Rate II"
  * Vendor: usb 0x044e "Alps Electric Co., Ltd" Device: usb 0x3017 "BCM2046 Bluetooth Device"
  * Vendor: usb 0x0a5c "Broadcom Corp." Device: usb 0x2101 "

耳机

  *Jabra BT620s

说明

(a) 重要提示

(b) BT 耳机扬声器适用于 Skype 2.0.0.72-suse。您必须将“声音设备”->“声音输出”设置为来自 ~/.asoundrc 的 BT 耳机的符号名称。“声音输入”目前无法使用 BT 设备。“发出测试声音”会将声音发送到“振铃”中设置的设备。“拨打测试电话”有效。

(c) Smplayer 0.6.6 可以与 BT 耳机一起使用。将“选项”->“首选项”->“音频”->“输出驱动程序”设置为“用户定义”,并将选项设置为 alsa:device=btheadset。这是 mplayer -ao 选项语法,如“使用 ALSA 音频系统配置蓝牙耳机”部分所述。

常见问题解答

如何安装最新的 PulseAudio 包?

您可以从 GNOME:Factory 存储库安装最新的 pulseaudio 包 [a]。首先从 [a] 下载文件 GNOME:Factory.repo,然后以 root 身份添加 repo "$ zypper ar GNOME:Factory.repo"。您应该能够通过 zypper 或 Yast 安装最新的 pulseaudio 包。

[a] http://download.opensuse.org/repositories/GNOME:/Factory/openSUSE_11.1/

是否可以从 /dev/ 条目到 btheadset 创建任何类型的链接,以使耳机对任何应用程序可见?

不。链接无助于使蓝牙 (BT) 耳机对应用程序可见。BT 音频设备不会自行创建 /dev/ 条目。目前,openSUSE 中的 BT 音频设备仅与 ALSA 音频系统通信。因此,您可以使用支持将输出配置到特定 alsa 设备(在 ~/.asoundrc 中指定)的应用程序使用 BT 耳机 [b]。如果您的应用程序不允许这种配置,您还可以尝试将默认 alsa 设备设置为您的 BT 耳机。当然,这只有在应用程序将输出发送到 alsa 时才会有所帮助。

[b] http://wiki.bluez.org/wiki/HOWTO/AudioDevices#SupportedPlayers

如何使蓝牙耳机成为 alsa 的默认设备?

此部分在 .asoundrc 中完成。有关详细信息,请参阅参考资料 [2]。

      pcm.!default {
             type bluetooth
             device "00:13:17:72:CD:FF"
      }

外部链接

[1] MediaWiki Handbook]

[2] ALSA 驱动程序的 .asoundrc 配置文件