Hi, Attached is the text with instructions for a2dp connections which should be added to the guide. It's just the text as I don't know how to do the markup and would like a second pair of eyes to look at it first.
Feel free to omit any sections which you believe are duplicated or mentioned in previous sections within the bluetooth audio section. Best regards, Nat
21.7.3 A2DP Audio: It is possible to use A2DP speakers and microphones with bta2dpd(8). A2DP connections are handled in userland using ACL connecions only. First use btconfig(1) to perfom a device inqury: # btconfig ubt0 inquiry Device Discovery from device: ubt0 ... 1 response 1: bdaddr 42:91:7f:56:32:55 (unknown) : name "jukebox" : class [0x260404] Wearable Headset <Networking> <Rendering> <Audio> : page scan rep mode 0x01 : clock offset 5957 : rssi 0 Add the appropriate host address and alias to /etc/bluetooth/hosts: # echo "42:91:7f:56:32:55 juke" >>/etc/bluetooth/hosts Check the device supports A2DP by performing an SDP query on the device looking for "Advanced Audio" using spdquery(1): # sdpquery -d ubt0 -a juke Browse | grep Advanced\ Audio Advanced Audio Distribution, v1.2 Put the device into discoverable mode and use btpin(1) to pair with the device: # btpin -d ubt0 -a juke -P -p 0000 Pairing.. done *Note: Consult your user manual for the appropriate pin when paring. 21.7.3.1 A2DP speakers and headphones Once paired it is possible to send 16 bit 44100 stereo audio to your speakers. $ bta2dpd -a juke test.wav *Note: Some devices play from files rapidly dropping data when used this way. The recomended way to playback is to use the pad(4) device which is throttled, sending audio data only as it is produced and gives a fully functioning audio(4) device. $ bta2dpd -V2 -na juke /dev/pad This will send using the maximum possible volume (-V2) and wont close when the corresponding pad(4) audio(4) device is closed with the (-n) switch. It is possible to play audio using audioplay(1): $ audioplay -d /dev/audio1 test.wav All audio applications will work with A2DP provided the appropriate audio device is selected using audiocfg(1). # audiocfg list 0: [*] audio0 @ hdafg0: Realtek ALC269 playback: 2ch, 48000Hz record: 2ch, 48000Hz (PR) slinear_le 16/16, 2ch, { 32000, 44100, 48000, 88200, 96000, 192000 } (PR) slinear_le 20/32, 2ch, { 32000, 44100, 48000, 88200, 96000, 192000 } (PR) slinear_le 24/32, 2ch, { 32000, 44100, 48000, 88200, 96000, 192000 } ( ) ac3 16/16, 2ch, { 32000, 44100, 48000, 88200, 96000, 192000 } 1: [ ] audio1 @ pad0: Virtual Audio 10.99.4 playback: 2ch, 44100Hz record: unavailable (P-) slinear_le 16/16, 2ch, { 44100 } # audiocfg default 1 21.7.3.2 A2DP microphones and input sources. Once the device is paired it is possible to record to a file (raw audio) only. $ bta2dpd -Ka juke record.dat This will write 16 bit 44100 Hz stereo audio to record.dat can be played back with the correspondin audioplay(1) command: $ audioplay -f -e slinear_le -P 16 -c 2 -s 44100 record.dat 21.7.3.2 A2DP Network audio. As the audio codec for A2DP compresses audio it is possible to use it to create low latency, low bandwith network audio connections: This is possible using bta2dpd(8)s test mode (-t) and nc(1). On the local machine: $ nc -ulk 54321 | bta2dpd -tK | audioplay -f -e slinear_le -P 16 -s 44100 \ -c 2 -- On the remote machine: $ bta2dpd -V 2 -nt /dev/pad | nc -u "client" 54321 It is possible to lower the bandwith (and quality) of the audio by specifying a lower bitpool value (-B) bta2dpd -V 2 -nt -B 16 /dev/pad | nc -u "client" 54321 The default bitpool quality is 32.