How To Connect Bluetooth Headset Or Speaker To Raspberry Pi 3
This post will show you how to connect your Raspberry Pi 3 to your Bluetooth headset, using A2DP profile.
Please note that A2DP profile supports only audio output, but no input such as microphone.
If you are looking for HSP support, please read the other post: Connect Bluetooth Headset To Raspberry Pi 3 (A2DP & HSP)
Set up Raspberry Pi
If possible start with fresh Raspbian Jessie (2017-03-02):
https://www.raspberrypi.org/downloads/raspbian/
Update and upgrade it:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove
sudo reboot
Since BlueZ 5, ALSA doesn’t support anymore Bluetooth, you need to have PulseAudio 5 at least for A2DP:
Bluez 5 or later, PulseAudio 5 or later, and pulseaudio-module-bluetooth:
dpkg -l bluez pulseaudio pulseaudio-module-bluetooth
||/ Name Version
+++-====================-========
ii bluez 5.23-2+rpi2
ii pulseaudio 5.0-13
ii pulseaudio-module-bluetooth 5.0-13
Start pulseaudio daemon (if no one is actually running):
pulseaudio --start
Connect the headset
To connect Bluetooth headset, there are several GUI tools, but I recommend to do it using bluetoothctl (part of BlueZ).
Start it:
bluetoothctl
Turn on Bluetooth controller:
power on
Start the agent:
agent on
Request default agent:
default-agent
Turn on the headset, for mine I press and hold the button till I see white blinking LED.
Start the scan:
scan on
After some seconds, you will see the headset name and MAC address (xx:xx:xx:xx:xx:xx)
Pair, trust and connect it:
pair xx:xx:xx:xx:xx:xx
trust xx:xx:xx:xx:xx:xx
connect xx:xx:xx:xx:xx:xx
Now the headset is correctly connected to the Raspberry Pi.
Tell PulseAudio to use it as default “sink”:
pacmd set-default-sink bluez_sink.xx_xx_xx_xx_xx_xx
Download and play a sound, you will hear it from your headphone!
wget http://youness.net/wp-content/uploads/2016/08/h2g2.ogg -P /tmp/
paplay /tmp/h2g2.ogg
“In the beginning, the Universe was created. This made a lot of people very angry, and has been widely regarded as a bad move.”
– The Hitchhiker’s Guide to the Galaxy
If you have any question feel free to ask me by comment.
Followed your instructions on a fresh install of Raspbian Jesse light and pairing with Amazon echo. I’m able to pair successfully but I only see Amazon as a source and not as a sink (as reported by pactl command). Also, Amazon echo goes silent – I’m assuming that it is sending it’s audio to raspberry pi. I’d there anything I can do to make the echo pair as a sink?
I don’t have Amazon Echo so I’ll tell you only what I know as information.
The Echo supports two Bluetooth profiles: A2DP and AVRCP.
A2DP in Echo is in two modes, A2DP sink (audio from Raspberry Pi to Echo) and A2DP source (the opposite of sink).
You can change the profile with:
pacmd set-card-profile 1 a2dp_sink
(1 is the index that is done to Echo, it can be different, check it)
Now that I have an Echo, I can give you more information about it.
It seems that Echo doesn’t show itself as a Bluetooth input, I tried using Raspberry Pi with Raspbian, and a PC with Ubuntu, for both of them, I can only use Echo as A2DP streaming audio, but I can’t see it as microphone (no HSP profile).
If this can save your time and others’ too.
Hi, thx for your article. I try to send music to my car audio, I can pair /trust and connect to the car audio.
But the car audio says “audio paused” it seems to wait to receive a command before to actually play the inputed audio. Using hciconfig I can sent the bytes being send trough Bluetooth..
Do you have an idea?
Thx
Philippe
Hi Philippe, I already had this problem in some car radios using my smartphone.
When I have this, I play music and I change volume, this is enough as command to establish the audio sound.
So play audio like:
paplay track.wav
And then change the sound:
pactl set sinks volume 1 50%
(1 is the index of your Bluetooth radio)
An addition: turns out that to avoid terrible choppy slow playback I had to turn scan off once the pairing was all set up (using ‘scan off’ command from bluetoothctl). This could be an issue with my particular bluetooth speaker but if it affects one it probably affects many.
And my last comment about making sure to unplug the wired headphones was nonsense and should be moderated out of existence if possible.
Hi,
Thank you for your feedback.
OK i’ll remove the other comment 🙂
For scan off, for me it makes sense. Did you turn off Wifi also?
No I didn’t turn wifi off. But I’m not using it either. But ifconfig does show it being on, I think:
root@raspberrypi:~# /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr b8:27:eb:56:ad:1a
inet addr:192.168.1.104 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::fc4b:da77:58c:b3dc/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:471870 errors:0 dropped:478 overruns:0 frame:0
TX packets:19882 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25369146 (24.1 MiB) TX bytes:2028662 (1.9 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:48 errors:0 dropped:0 overruns:0 frame:0
TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:8723 (8.5 KiB) TX bytes:8723 (8.5 KiB)
wlan0 Link encap:Ethernet HWaddr b8:27:eb:03:f8:4f
inet6 addr: fe80::c31:f4be:802:b2f5/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
OK so turn it off and you will notice sound quality improvement especially for AD2P streaming.
(sudo ifdown wlan0)
Hi,
Very interesting Post, big thanks for sharing.
I managed to connect my speaker ok and tried streaming a longer .ogg file. Every time I try it keeps on getting stuck. so far I didn’t manage to get it unstuck and had to reboot the Pi. tried to turn scan off too.
any Ideas?
Dotan Gershony
Been having the exact problem over here, no ideia what to do =/
Do you still have it?
Yeah, I connect the headphones, set them as default sink, they work for like 2 secs. and then they stop working. I’m not able to disconnect the bluetooth or to turn it off and on again, the only thing that works is to reboot.
Other problem is that, in those 2 secs. that the headfones are working, the sounds from youtube and Udemy are absolutely distorted.
FYI, I’m using a Philips SHB6110.
I think your PulseAudio daemon stops after the 2s. Did you make the -1 in PulseAudio settings?
For sound distortion, are you using both Wi-Fi and Bluetooth?
Oh, and let me thank you for the great post and for the help!
Thanks for your post, it was help very much.
But I have one issue to get help from you.
RPI3, the latest rasberrypian.
I followed your post to play music via BT speaker through A2DP.
but pulseaudio can’t detect BT-Sink when only one BT device connected to my RPI3.
but when second BT device connected to my RPI3, the second BT A2DP sink can be detected in pacmd.
pi@raspberrypi:~ $ bluetoothctl
[NEW] Controller B8:27:EB:2D:4E:EA raspberrypi [default]
[NEW] Device 7A:78:33:AD:2C:E1 BT SPEAKER // the second BT speaker.
[NEW] Device 88:C6:26:B5:53:1E UE MEGABOOM // the first BT speaker
pi@raspberrypi:~ $ pacmd list-sinks
2 sink(s) available.
// sinks has 3 devices including embedded audio, but it showed only 2 sink devices.
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.9.41-v7+ #1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l GNU/Linux
pi@raspberrypi:~ $ dpkg -l bluez pulseaudio pulseaudio-module-bluetooth
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===================-==============-==============-===========================================
ii bluez 5.43-2+rpi1 armhf Bluetooth tools and daemons
ii pulseaudio 10.0-1+deb9u1 armhf PulseAudio sound server
ii pulseaudio-module-b 10.0-1+deb9u1 armhf Bluetooth module for PulseAudio sound serve
pi@raspberrypi:~ $
I think, I’m using the latest packages, but pulseaudio does not seem to detect BT audio device correctly.
Are there any work-around or fix ?
Did you tried to just remove both of them and start again? Keep in mind that Bluetooth and PulseAudio here aren’t really a stable solution, random issues appear and disappear…
Hi!
Thanks for the guide, but I’m unable to reach the goal.
I followed every step, but when I try to play the sound I only head a (barely udible) very low noise.
Can you help me?
Sure. Give me more details about what you did and get as errors.
Thanks!
pair -> ok
trust -> ok
connect -> ok
pacmd set-default-sink bluez_sink.00_08_2A_F3_2B_8E.headset_head_unit
—> no errors, seems ok
If I try to play an audio file (found some in /usr/share/scratch/Media/Sounds/Vocals and playing with vlc) I hear something (very very low) in the headset, which makes me think that the communication has been enstablished, but not a real sound.
Tried to set the headset via gui (right click on volume icon) – same result.
pacmd list-cards –> 1 card(s) available.
pacmd list-sinks –> 1 sink(s) available.
Forgive me for my bad english 🙂
A RPI/LINUX beginner
Can you try to play the audio file that I uploaded myself here?
wget http://youness.net/wp-content/uploads/2016/08/h2g2.ogg -P /tmp/
paplay /tmp/h2g2.ogg
Do it with the command paplay.
This is t avoid that you try an unsupported audio format, or that VLC is not correctly sinked with PulseAudio.
Same result 🙁 Tried as well during the guide
Does the playing of audio ends or not?
Try also to increase the volume (paplay –volume=1000)
Start paplay with logs (paplay -v) and see what is happening
Put earphones in JACK of Raspberry Pi, maybe the routing of sink doesn’t work well.
The playing of the audio ends.
pi@raspberrypi:~ $ paplay –volume=1000
open(): No such file or directory
pi@raspberrypi:~ $ paplay -v /tmp/h2g2.ogg
Opening a playback stream with sample specification ‘float32le 1ch 32000Hz’ and channel map ‘mono’.
Connection established.
Stream successfully created.
Buffer metrics: maxlength=4194304, tlength=256000, prebuf=253444, minreq=2560
Using sample spec ‘float32le 1ch 32000Hz’, channel map ‘mono’.
Connected to device alsa_output.platform-soc_audio.analog-stereo (index: 0, suspended: no).
Stream started.
Stream underrun.
Playback stream drained.: 378133 usec.
Draining connection to server.
Plugged earphones in JACK – no audio as well! 🙁
For paplay –volume=100, it is – and – without space, but my website paste them together into long –…
From the -v I can see that it connects to alsa_output, and not bluez_sink…
Are you sure the command set-default-sink is OK?
Thank you for you patience… This one is long 🙂
Today I made a clean install of my Raspberry Pi 3 and started from scratch:
0 – omxplayer -o local Singer1.wav – headphones via jack, in this case audio works 🙂
1 – sudo apt-get update
2 – sudo apt-get upgrade
3 – sudo apt-get autoremove
4 – sudo reboot
5 – dpkg -l bluez pulseaudio pulseaudio-module-bluetooth
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii bluez 5.43-2+rpt2+ armhf Bluetooth tools and daemons
un pulseaudio (no description available)
un pulseaudio-mod (no description available)
6 – pulseaudio –start
bash: pulseaudio: command not found
7 – sudo apt-get install pulseaudio pulseaudio-module-bluetooth
8 – dpkg -l bluez pulseaudio pulseaudio-module-bluetooth
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii bluez 5.43-2+rpt2+ armhf Bluetooth tools and daemons
ii pulseaudio 10.0-1+deb9u armhf PulseAudio sound server
ii pulseaudio-mod 10.0-1+deb9u armhf Bluetooth module for PulseAudio s
9 – pulseaudio –start
10 – bluetoothctl
11 – power on
Changing power on succeeded
12 – agent on
Agent registered
13 – default-agent
Default agent request successful
14 – scan on
15 – pair E3:28:E9:20:CD:75
Attempting to pair with E3:28:E9:20:CD:75
Pairing successful
16 – trust E3:28:E9:20:CD:75
Changing E3:28:E9:20:CD:75 trust succeeded
17 – connect E3:28:E9:20:CD:75
Attempting to connect to E3:28:E9:20:CD:75
Connection successful
18 – exit
19 – pacmd set-default-sink bluez_sink.E3_28_E9_20_CD_75
Sink bluez_sink.E3_28_E9_20_CD_75 does not exist.
19 – pacmd set-default-sink bluez_sink.E3_28_E9_20_CD_75.headset_head_unit (autocompleted pressing TAB key)
20 – wget http://youness.net/wp-content/uploads/2016/08/h2g2.ogg -P /tmp/
–2017-12-07 20:40:30– http://youness.net/wp-content/uploads/2016/08/h2g2.ogg
Resolving youness.net (youness.net)… 217.160.0.252, 2001:8d8:100f:f000::275
Connecting to youness.net (youness.net)|217.160.0.252|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 75496 (74K) [audio/ogg]
Saving to: ‘/tmp/h2g2.ogg’
h2g2.ogg 100%[===================>] 73.73K –.-KB/s in 0.1s
2017-12-07 20:40:30 (563 KB/s) – ‘/tmp/h2g2.ogg’ saved [75496/75496]
21 – paplay /tmp/h2g2.ogg
—> At this point in the headset I can hear a very low white noise…
After a minute, I block the command typing Ctrl+C and the white noise stops.
22 – paplay –volume=65536 /tmp/h2g2.ogg
same result (low white noise) (65536 is the max volume)
23 – paplay -v /tmp/h2g2.ogg
Opening a playback stream with sample specification ‘float32le 1ch 32000Hz’ and channel map ‘mono’.
Connection established.
Stream successfully created.
Buffer metrics: maxlength=4194304, tlength=256000, prebuf=253444, minreq=2560
Using sample spec ‘float32le 1ch 32000Hz’, channel map ‘mono’.
Connected to device bluez_sink.E3_28_E9_20_CD_75.headset_head_unit (index: 1, suspended: no).
^CGot signal, exiting.cy: 2000000 usec.
24 – paplay Trumpet1.wav
same result (low white noise)
I’m very sad 🙁
I’m happy to help people as much as I can. in addition you took time to post that comment so of course I’m here to answer 🙂
OK, from what you did, problems start at 19. The sink doesn’t exist.
At this step 19. Check your cards with: pacmd list-cards.
Here you must have the Bluetooth card with A2DP profile.
You will find also the correct name of the sink, I doubt that you are using the correct name, especially with that “headset_head_unit”, it is not for A2DP audio.
I’ll do my best to get my Raspberry Pi and play with it to see if there is no issue that I didn’t met in the past.
Keep trying 🙂
Hi Youness!
This is the command output:
pacmd list-cards
1 card(s) available.
index: 0
name:
driver:
owner module: 6
properties:
alsa.card = “0”
alsa.card_name = “bcm2835 ALSA”
alsa.long_card_name = “bcm2835 ALSA”
alsa.driver_name = “snd_bcm2835”
device.bus_path = “platform-soc:audio”
sysfs.path = “/devices/platform/soc/soc:audio/sound/card0”
device.string = “0”
device.description = “bcm2835 ALSA”
module-udev-detect.discovered = “1”
device.icon_name = “audio-card”
profiles:
output:analog-mono: Analog Mono Output (priority 200, available: unknown)
output:analog-stereo: Analog Stereo Output (priority 6000, available: unknown)
off: Off (priority 0, available: unknown)
active profile:
sinks:
alsa_output.platform-soc_audio.analog-stereo/#0: bcm2835 ALSA Analog Stereo
sources:
alsa_output.platform-soc_audio.analog-stereo.monitor/#0: Monitor of bcm2835 ALSA Analog Stereo
ports:
analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown)
properties:
Thank you 🙂
So the Bluetooth heasdet doesn’t appear at all, so you do all that with one console? I advice you to open two consoles one for Bluetooth and one for PulseAudio. Start PulseAudio with logs (pulseaudio -vvvv) and try to connect Bluetooth with bluetoothctl. You have to see a change in PulseAudio console when you do that because it detects the headset.
(yes I was using one console)…
1- pulseaudio -vvvv
I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
D: [pulseaudio] core-rtclock.c: Timer slack is set to 50 us.
D: [pulseaudio] core-util.c: RealtimeKit worked.
I: [pulseaudio] core-util.c: Successfully gained nice level -11.
I: [pulseaudio] main.c: This is PulseAudio 10.0
D: [pulseaudio] main.c: Compilation host: arm-unknown-linux-gnueabihf
D: [pulseaudio] main.c: Compilation CFLAGS: -g -O2 -fdebug-prefix-map=/build/pulseaudio-M85hft/pulseaudio-10.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -W -Wextra -pipe -Wno-long-long -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -ffast-math -fno-common -fdiagnostics-show-option -fdiagnostics-color=auto
D: [pulseaudio] main.c: Running on host: Linux armv7l 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017
D: [pulseaudio] main.c: Found 4 CPUs.
I: [pulseaudio] main.c: Page size is 4096 bytes
D: [pulseaudio] main.c: Compiled with Valgrind support: no
D: [pulseaudio] main.c: Running in valgrind mode: no
D: [pulseaudio] main.c: Running in VM: no
D: [pulseaudio] main.c: Optimized build: yes
D: [pulseaudio] main.c: FASTPATH defined, only fast path asserts disabled.
I: [pulseaudio] main.c: Machine ID is 22d72e8074af4e3aa2735f037906a0a8.
I: [pulseaudio] main.c: Session ID is c1.
I: [pulseaudio] main.c: Using runtime directory /run/user/1000/pulse.
I: [pulseaudio] main.c: Using state directory /home/pi/.config/pulse.
I: [pulseaudio] main.c: Using modules directory /usr/lib/pulse-10.0/modules.
I: [pulseaudio] main.c: Running in system mode: no
E: [pulseaudio] pid.c: Daemon already running.
E: [pulseaudio] main.c: pa_pid_file_create() failed.
(Should I stop the daemon first?)
2 – pulseaudio -kill
3 – pulseaudio -vvvv
( on a new terminal)
4 – bluetoothctl
5 – connect E3:28:E9:20:CD:75
Attempting to connect to E3:28:E9:20:CD:75
[CHG] Device E3:28:E9:20:CD:75 Connected: yes
Connection successful
[CHG] Device E3:28:E9:20:CD:75 ServicesResolved: yes
( the first terminal produces new lines of log – uploaded on https://pastebin.com/KsnYMmDP )
6 – ( on a third terminal )
pacmd list-cards
2 card(s) available.
index: 0
name:
driver:
owner module: 6
properties:
alsa.card = “0”
alsa.card_name = “bcm2835 ALSA”
alsa.long_card_name = “bcm2835 ALSA”
alsa.driver_name = “snd_bcm2835”
device.bus_path = “platform-soc:audio”
sysfs.path = “/devices/platform/soc/soc:audio/sound/card0”
device.string = “0”
device.description = “bcm2835 ALSA”
module-udev-detect.discovered = “1”
device.icon_name = “audio-card”
profiles:
output:analog-mono: Analog Mono Output (priority 200, available: unknown)
output:analog-stereo: Analog Stereo Output (priority 6000, available: unknown)
off: Off (priority 0, available: unknown)
active profile:
sinks:
alsa_output.platform-soc_audio.analog-stereo/#0: bcm2835 ALSA Analog Stereo
sources:
alsa_output.platform-soc_audio.analog-stereo.monitor/#0: Monitor of bcm2835 ALSA Analog Stereo
ports:
analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown)
properties:
index: 1
name:
driver:
owner module: 22
properties:
device.description = “GoSport Mini”
device.string = “E3:28:E9:20:CD:75”
device.api = “bluez”
device.class = “sound”
device.bus = “bluetooth”
device.form_factor = “headset”
bluez.path = “/org/bluez/hci0/dev_E3_28_E9_20_CD_75”
bluez.class = “0x240404”
bluez.alias = “GoSport Mini”
device.icon_name = “audio-headset-bluetooth”
device.intended_roles = “phone”
profiles:
headset_head_unit: Headset Head Unit (HSP/HFP) (priority 20, available: unknown)
a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 10, available: no)
off: Off (priority 0, available: yes)
active profile:
sinks:
bluez_sink.E3_28_E9_20_CD_75.headset_head_unit/#1: GoSport Mini
sources:
bluez_sink.E3_28_E9_20_CD_75.headset_head_unit.monitor/#1: Monitor of GoSport Mini
bluez_source.E3_28_E9_20_CD_75.headset_head_unit/#2: GoSport Mini
ports:
headset-output: Headset (priority 0, latency offset 0 usec, available: unknown)
properties:
headset-input: Headset (priority 0, latency offset 0 usec, available: unknown)
properties:
… and now? :-O
pacmd list-sinks
2 sink(s) available.
* index: 0
name:
driver:
flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY FLAT_VOLUME DYNAMIC_LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 9009
volume: front-left: 26090 / 40% / -24.00 dB, front-right: 26090 / 40% / -24.00 dB
balance 0.00
base volume: 56210 / 86% / -4.00 dB
volume steps: 65537
muted: no
current latency: 0.00 ms
max request: 0 KiB
max rewind: 0 KiB
monitor source: 0
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
Stereo
used by: 0
linked by: 0
configured latency: 0.00 ms; range is 0.50 .. 743.04 ms
card: 0
module: 6
properties:
alsa.resolution_bits = “16”
device.api = “alsa”
device.class = “sound”
alsa.class = “generic”
alsa.subclass = “generic-mix”
alsa.name = “bcm2835 ALSA”
alsa.id = “bcm2835 ALSA”
alsa.subdevice = “0”
alsa.subdevice_name = “subdevice #0”
alsa.device = “0”
alsa.card = “0”
alsa.card_name = “bcm2835 ALSA”
alsa.long_card_name = “bcm2835 ALSA”
alsa.driver_name = “snd_bcm2835”
device.bus_path = “platform-soc:audio”
sysfs.path = “/devices/platform/soc/soc:audio/sound/card0”
device.string = “hw:0”
device.buffering.buffer_size = “131072”
device.buffering.fragment_size = “131072”
device.access_mode = “mmap+timer”
device.profile.name = “analog-stereo”
device.profile.description = “Analog Stereo”
device.description = “bcm2835 ALSA Analog Stereo”
alsa.mixer_name = “Broadcom Mixer”
module-udev-detect.discovered = “1”
device.icon_name = “audio-card”
ports:
analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown)
properties:
active port:
index: 1
name:
driver:
flags: HARDWARE HW_VOLUME_CTRL LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 9030
volume: mono: 65536 / 100%
balance 0.00
base volume: 65536 / 100%
volume steps: 16
muted: no
current latency: 0.00 ms
max request: 0 KiB
max rewind: 0 KiB
monitor source: 1
sample spec: s16le 1ch 8000Hz
channel map: mono
Mono
used by: 0
linked by: 0
fixed latency: 128.00 ms
card: 1
module: 22
properties:
bluetooth.protocol = “headset_head_unit”
device.intended_roles = “phone”
device.description = “GoSport Mini”
device.string = “E3:28:E9:20:CD:75”
device.api = “bluez”
device.class = “sound”
device.bus = “bluetooth”
device.form_factor = “headset”
bluez.path = “/org/bluez/hci0/dev_E3_28_E9_20_CD_75”
bluez.class = “0x240404”
bluez.alias = “GoSport Mini”
device.icon_name = “audio-headset-bluetooth”
ports:
headset-output: Headset (priority 0, latency offset 0 usec, available: unknown)
properties:
active port:
Hi, i’m trying to connect a speaker it has microphone too but i’m only interested in making a2dp work. i’m having trouble connectint to it it fails all the time. i did manage to connect it one time following the instructions but it was not recognized on pacmd as cards. i restarted the pi and same issue. i follwed the steps above one by one. is a raspberry pi zero w
Hi, are you setting correctly PulseAudio?
Hi, I followed you pulseaudio setup guid from source (http://youness.net/raspberry-pi/bluetooth-headset-raspberry-pi-3-ad2p-hsp) but I can`t run pactl list cards it returns some error (Assertion ‘t->dynamic’ failed at pulsecore/tagstruct.c:88, function extend(). Aborting.
Aborted) so and if I run pacmd set-default-sink bluez_sink.xx_xx_xx_xx_xx_xx with my bluetooth mac adress it says: Sink bluez_sink.04:FE:A1:33:68:8C does not exist. So I my goal is to run a python3 script with pyttsx3 to read a text but a Pi Zero W has no audio on board and I wanna send it via bluetooth. (I tried a bunch of other guides but nothing is working … sometimes I can get pulseaudio to run via bluetooth but I can`t hear something and the connection dies really fast, and I can`t grab the card with pactl list cards even if I install it (pulseaudio) via apt-get).
I can’t help you too much since I don’t have Raspberry Pi Zero W, but I recommend you to start again from scratch and just install PulseAudio with apt-get, maybe because you install PulseAudio two times you are getting errors.