《NetBSD指南-20.7.1.SCO音频耳机》
发表于 : 2010-03-06 15:19
到蓝牙耳机的音频连接可以用 btsco(4) 音频驱动程序和 bthset(1) 程序实现。首先, 你需要找到耳机的BDADDR, 而且为了简便你可能想为其在 /etc/bluetooth/hosts 文件中设置一个别名。 将耳机置为可识别模式并用适当的控制器执行一个质询:
在首次连接时你需要为耳机提供匹配的PIN, 修正的PIN应该在列在手册上 (通常使用 “0000” ). btdevctl(8) 将质询设备并附加上 btsco(4) 音频驱动程序。
这会在系统控制台上产生一些信息:
为了使用音频设备, 用 bthset(1) 打开一个控制连接,它输送声音信息到混合设备.
现在你可以使用任何支持音频的程序发送/接收8khz的音频样本到/自 /dev/audio1 , 例如 audioplay(1) 或 audiorecord(1). 播放时可以调节混合器的音量,但是您可能会发现当开启一个连接时耳机将音量设置为上次播放时的设定值。
设备的性能被储存在 btdevctl(8)内, 当系统启动时重新加载 btsco(4) 驱动程序, 添加一个项目到 /etc/bluetooth/btdevctl.conf 并确保 /etc/rc.conf 文件里包含了 btdevctl=YES.
代码: 全选
% btconfig ubt0 inquiry
Device Discovery from device: ubt0 ..... 1 response
1: bdaddr 00:07:a4:23:10:83 (unknown)
: name "JABRA 250"
: class: [0x200404] Wearable Headset <Audio>
: page scan rep mode 0x01
: page scan period mode 0x00
: page scan mode 0x00
: clock offset 147
# echo "00:07:a4:23:10:83 headset" >>/etc/bluetooth/hosts
在首次连接时你需要为耳机提供匹配的PIN, 修正的PIN应该在列在手册上 (通常使用 “0000” ). btdevctl(8) 将质询设备并附加上 btsco(4) 音频驱动程序。
代码: 全选
% btpin -d ubt0 -a headset -p 0000
# btdevctl -d ubt0 -a headset -s HSET -A
local bdaddr: 00:08:1b:8d:ba:6d
remote bdaddr: 00:07:a4:23:10:83
link mode: none
device type: btsco
mode: connect
channel: 1
这会在系统控制台上产生一些信息:
btsco0 at bthub0 remote-bdaddr 00:07:a4:23:10:83 channel 1
audio1 at btsco0: full duplex
为了使用音频设备, 用 bthset(1) 打开一个控制连接,它输送声音信息到混合设备.
代码: 全选
% bthset -d /dev/mixer1 -v
Headset Info:
mixer: /dev/mixer1
laddr: 00:08:1b:8d:ba:6d
raddr: 00:07:a4:23:10:83
channel: 1
vgs.dev: 0, vgm.dev: 1
现在你可以使用任何支持音频的程序发送/接收8khz的音频样本到/自 /dev/audio1 , 例如 audioplay(1) 或 audiorecord(1). 播放时可以调节混合器的音量,但是您可能会发现当开启一个连接时耳机将音量设置为上次播放时的设定值。
代码: 全选
% audiorecord -d /dev/audio1 voice.au
< TALK NONSENSE NOW >
^C
% audioplay -d /dev/audio voice.au
< THATS REALLY WHAT YOU SOUND LIKE >
% audioplay -d /dev/audio1 voice.au
< IN THE HEADSET >
设备的性能被储存在 btdevctl(8)内, 当系统启动时重新加载 btsco(4) 驱动程序, 添加一个项目到 /etc/bluetooth/btdevctl.conf 并确保 /etc/rc.conf 文件里包含了 btdevctl=YES.