blob: bbdef77aabcf47a3bc42f32acf27476d4784882d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
# bluez-alsa
## Introduction
Bluetooth Audio ALSA Backend allow bluetooth audio without PulseAudio.
This project is a rebirth of a direct integration between Bluez and ALSA. Since Bluez >= 5, the build-in integration has been removed in favor of 3rd party audio applications. From now on, Bluez acts as a middleware between an audio application, which implements Bluetooth audio profile, and a Bluetooth audio device.
github source : [bluez-alsa](https://github.com/Arkq/bluez-alsa)
## Add bluez-alsa to an AGL image
You can add bluez-alsa to your image
```yocto
IMAGE_INSTALL_append = "bluez-alsa"
```
## Check bluez-alsa status
You can check the bluez-alsa status by running:
```bash
systemctl status bluez-alsa.service
```
## Stop pulseaudio
You must disable pulseaudio if you want to use bluez-alsa
```bash
systemctl --user stop pulseaudio
```
or disable pulseaudio bluetooth support
```bash
vi /etc/pulse/default.pa
#.ifexists module-bluetooth-policy.so
#load-module module-bluetooth-policy
#.endif
#.ifexists module-bluetooth-discover.so
#load-module module-bluetooth-discover
#.endif
```
## Connect your Bluetooth device
You need to connect a bluetooth device
```bash
$ bluetoothctl
[bluetooth]# pair ${BT_ADDR}
[bluetooth]# connect ${BT_ADDR}
[bluetooth]# info ${BT_ADDR}
```
Here somes documentation links:
* [Bluetooth headset from archlinux](https://wiki.archlinux.org/index.php/Bluetooth_headset)
* [Bluetooth Headset from gentoo](https://wiki.gentoo.org/wiki/Bluetooth_Headset)
* [Bluez A2DP AudioSink for ALSA](http://www.lightofdawn.org/blog/?viewDetailed=00032)
* [Bluez A2DP](http://www.lightofdawn.org/wiki/wiki.cgi/BluezA2DP)
## Test bluez-alsa speacker
```bash
wget http://www.kozco.com/tech/piano2.wav
aplay -D bluealsa:HCI=hci0,DEV=${BT_ADDR},PROFILE=a2dp ./piano2.wav
```
## Add bluez-alsa pcm config to alsa
```bash
vi /etc/asound.conf
# Bluetooth headset
pcm.btheadset {
type plug
slave.pcm {
type bluealsa
device "${BT_ADDR}"
profile "a2dp"
}
hint {
show on
description "Bluetooth Audio ALSA Backend"
}
}
```
Doc [asoundrc](https://alsa.opensrc.org/Asoundrc)
Test bluez-alsa pcm
```bash
aplay -D btheadset ./piano2.wav
```
## Test gstreamer player
```bash
gst-launch-1.0 uridecodebin uri=file:///mnt/Holy-Mountain.mp3 ! alsasink device=btheadset
```
## Test bluez-alsa phone
After connected your phone with bluez:
```bash
bluealsa-aplay ${BT_ADDR}
```
|