From f690453c2b2d87161755500fe3f7735975c2963a Mon Sep 17 00:00:00 2001 From: Ronan Le Martret Date: Fri, 23 Mar 2018 14:41:52 +0100 Subject: Add bluez-alsa documentation Signed-off-by: Ronan Le Martret --- audio/4a-framework.md | 6 +++ audio/bluez-alsa.md | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++ audio/index.md | 7 ---- 3 files changed, 119 insertions(+), 7 deletions(-) create mode 100644 audio/4a-framework.md create mode 100644 audio/bluez-alsa.md delete mode 100644 audio/index.md diff --git a/audio/4a-framework.md b/audio/4a-framework.md new file mode 100644 index 0000000..d54f12b --- /dev/null +++ b/audio/4a-framework.md @@ -0,0 +1,6 @@ +# AGL Audio High Level Binding (4A) + +The Audio High Level Binding is the upper layer in the Audio 4A architecture. + +Presentation is available: +[4a-presentation-by-audiokinetics](https://schd.ws/hosted_files/aglammeu17/aa/HighLevelAudio_DresdenAMM_Final_0.pdf) diff --git a/audio/bluez-alsa.md b/audio/bluez-alsa.md new file mode 100644 index 0000000..bbdef77 --- /dev/null +++ b/audio/bluez-alsa.md @@ -0,0 +1,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} +``` diff --git a/audio/index.md b/audio/index.md deleted file mode 100644 index 19c4945..0000000 --- a/audio/index.md +++ /dev/null @@ -1,7 +0,0 @@ -# AGL Audio Framework - -## Pulseaudio Plugin - -Source code is hosted on [gerrit:staging/agl-audio-plugin](https://gerrit.automotivelinux.org/gerrit/gitweb?p=staging%2Fagl-audio-plugin.git;a=summary) - -Documentation is available on [IoT.bzh site](http://iot.bzh/download/public/2016/audio/AGL-PulseAudio-Audio-Routing.pdf) -- cgit 1.2.3-korg