У меня есть свой NAS на основе Cubietruck (Ubuntu, Гостеприимная с 3.4.113-sun7i Linux Armbian) с интегрированным Bluetooth. Теперь я пытаюсь отправить аудио на свою беспроводную колонку через bluealsa.
Первоначально я использовал это руководство, чтобы установить и установить bluealsa: https://forum.armbian.com/topic/6480-bluealsa-bluetooth-audio-using-alsa-not-pulseaudio/
Я закончил той же проблемой, как я имею теперь после перекомпиляции и установки bluealsa снова с помощью этого руководства: https://raspberrypi.stackexchange.com/questions/90267/how-to-stream-sound-to-a-bluetooth-device-from-a-raspberry-pi-zero
который дал мне немного больше прогресса, например, я вижу такое сообщение при соединении с моей беспроводной колонкой: [BH129]# bluealsa: D: ../../src/bluez.c:1267: Signal: org.freedesktop.DBus.Objec tManager.InterfacesAdded()
Я не видел такое сообщение при установке и установка bluealsa согласно 1-му руководству.
Я запускаю bluealsa сначала вручную после начальной загрузки. Между прочим корректный профиль Bluetooth: - hsp-hs Гарнитура (v1.2)?
bluealsa -p hsp-hs &
Bluealsa, кажется, работает:
root@Artisan:~# ps -ef | grep bluealsa
root 2591 2557 0 15:16 pts/0 00:00:00 bluealsa -p hsp-hs
root 2803 2557 1 15:58 pts/0 00:00:00 grep --color=auto bluealsa
Вот то, как я соединяюсь со своим динамиком:
[bluetooth]# scan on
Discovery started
[CHG] Controller 43:29:B1:55:01:01 Discovering: yes
[NEW] Device EB:06:EF:47:83:A6 BH129
[bluetooth]# pair EB:06:EF:47:83:A6
Attempting to pair with EB:06:EF:47:83:A6
[CHG] Device EB:06:EF:47:83:A6 Class: 0x240404
[CHG] Device EB:06:EF:47:83:A6 Icon: audio-card
[CHG] Device EB:06:EF:47:83:A6 Connected: yes
[CHG] Device EB:06:EF:47:83:A6 UUIDs: 00001108-0000-1000-8000-00805f9b34fb
[CHG] Device EB:06:EF:47:83:A6 UUIDs: 0000110b-0000-1000-8000-00805f9b34fb
[CHG] Device EB:06:EF:47:83:A6 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb
[CHG] Device EB:06:EF:47:83:A6 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Device EB:06:EF:47:83:A6 UUIDs: 0000111e-0000-1000-8000-00805f9b34fb
[CHG] Device EB:06:EF:47:83:A6 UUIDs: 0000180f-0000-1000-8000-00805f9b34fb
[CHG] Device EB:06:EF:47:83:A6 Paired: yes
Pairing successful
[CHG] Device EB:06:EF:47:83:A6 Connected: no
[bluetooth]# trust EB:06:EF:47:83:A6
[CHG] Device EB:06:EF:47:83:A6 Trusted: yes
Changing EB:06:EF:47:83:A6 trust succeeded
[bluetooth]# connect EB:06:EF:47:83:A6
Attempting to connect to EB:06:EF:47:83:A6
[CHG] Device EB:06:EF:47:83:A6 Connected: yes
[BH129]# bluealsa: D: ../../src/bluez.c:1267: Signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded()
Connection successful
[BH129]# exit
[DEL] Controller 43:29:B1:55:01:01 BlueZ 5.37 [default]
Вот состояние Bluetooth
root@Artisan:~# systemctl status bluetooth
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-12-18 15:13:37 UTC; 36min ago
Docs: man:bluetoothd(8)
Main PID: 1307 (bluetoothd)
Status: "Running"
CGroup: /system.slice/bluetooth.service
└─1307 /usr/lib/bluetooth/bluetoothd --noplugin=sap --plugin=a2dp
Dec 18 15:13:37 Artisan bluetoothd[1307]: Ignoring (cli) thermometer
Dec 18 15:13:37 Artisan bluetoothd[1307]: Ignoring (cli) heartrate
Dec 18 15:13:37 Artisan bluetoothd[1307]: Ignoring (cli) cyclingspeed
Dec 18 15:13:37 Artisan bluetoothd[1307]: Ignoring (cli) sixaxis
Dec 18 15:13:37 Artisan bluetoothd[1307]: Bluetooth management interface 1.0 initialized
Dec 18 15:13:37 Artisan bluetoothd[1307]: Failed to obtain handles for "Service Changed" characterist
Dec 18 15:13:37 Artisan systemd[1]: Started Bluetooth service.
Dec 18 15:14:36 Artisan bluetoothd[1307]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPS
Dec 18 15:14:36 Artisan bluetoothd[1307]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPS
Dec 18 15:14:40 Artisan bluetoothd[1307]: Ignoring unsupported UUID for addition
Я был немного перепутан с разделом "Alsa config" и закончен конфигурированием его этот путь:
root@Artisan:~# cat /usr/share/alsa/alsa.conf.d/20-bluealsa.conf # BlueALSA integration setup
defaults.bluealsa.service "org.bluealsa"
defaults.bluealsa.profile "a2dp"
defaults.bluealsa.delay 20000
defaults.bluealsa.battery "yes"
ctl.bluealsa {
@args [ SRV BAT ]
@args.SRV {
type string
default {
@func refer
name defaults.bluealsa.service
}
}
@args.BAT {
type string
default {
@func refer
name defaults.bluealsa.battery
}
}
type bluealsa
service $SRV
battery $BAT
}
pcm.bluealsa {
@args [ SRV DEV PROFILE DELAY ]
@args.SRV {
type string
default {
@func refer
name defaults.bluealsa.service
}
}
@args.DEV {
type string
default {
@func refer
name defaults.bluealsa.device
}
}
@args.PROFILE {
type string
default {
@func refer
name defaults.bluealsa.profile
}
}
@args.DELAY {
type integer
default {
@func refer
name defaults.bluealsa.delay
}
}
type plug
slave.pcm {
type bluealsa
service $SRV
device $DEV
profile $PROFILE
delay $DELAY
}
hint {
show {
@func refer
name defaults.namehint.extended
}
description "Bluetooth Audio Hub"
}
}
pcm {
type bluealsa
interface "hci0"
device EB:06:EF:47:83:A6
profile "a2dp"
}
ctl.!default {
type bluealsa
interface "hci0"
}
Вот ~/asoundrc
root@Artisan:~# cat ~/.asoundrc
defaults.bluealsa.interface "hci0"
defaults.bluealsa.device "EB:06:EF:47:83:A6"
defaults.bluealsa.profile "a2dp"
Вот то, что я получаю, когда я пытаюсь играть mp3 файл с aplay:
root@Artisan:~# aplay -D bluealsa:DEV=EB:06:EF:47:83:A6,PROFILE=a2dp,HCI=hci0 /ncsdata/Music/night.mp3
ALSA lib conf.c:4622:(parse_args) Unknown parameter HCI
ALSA lib conf.c:4755:(snd_config_expand) Parse arguments error: No such file or directory
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM bluealsa:DEV=EB:06:EF:47:83:A6,PROFILE=a2dp,HCI=hci0
aplay: main:722: audio open error: No such file or directory
root@Artisan:~# aplay -D bluealsa:DEV=EB:06:EF:47:83:A6,PROFILE=a2dp /ncsdata/Music/night.mp3
bluealsa: D: ../../src/bluealsa-dbus.c:139: Called: org.bluealsa.Manager1.GetPCMs()
ALSA lib ../../../src/asound/bluealsa-pcm.c:755:(_snd_pcm_bluealsa_open) Couldn't get BlueALSA PCM: PCM not found
aplay: main:722: audio open error: No such device
mpd настроен для bluealsa
audio_output {
type "alsa"
name "ALSA Bluetooth Headset"
device "bluealsa"
mixer_type "software"
}
Вот то, что я получаю попытку играть mp3 с mpd:
root@Artisan:~# /etc/init.d/mpd start
[ ok ] Starting mpd (via systemctl): mpd.service.
root@Artisan:~# mpc clear
volume: 90% repeat: off random: off single: off consume: off
ERROR: Failed to open audio output
root@Artisan:~# mpc add night.mp3
root@Artisan:~# mpc play
Unknown artist - Night (Original)
[playing] #1/1 0:00/2:46 (0%)
volume: 90% repeat: off random: off single: off consume: off
root@Artisan:~# mpc stop
volume: 90% repeat: off random: off single: off consume: off
ERROR: Failed to open audio output
Сообщения об ошибках были идентичны после установки всего 1-ми и 2-ми руководствами. Динамик не делает звука, конечно. Я чувствую, что я около решения, но не могу выяснить то, что является мной пропавшие без вести. Поиск с помощью Google aplay или сообщения mpd - никакая удача. Я ценил бы Вашу справку.
Хорошо затем после танца вокруг и покупки другого получателя Bluetooth мне удалось передать аудио потоком на нем через bluealsa и mpd.
Вот конфигурации, которые я отредактировал:
/usr/share/alsa/alsa.conf.d/20-bluealsa.conf
# BlueALSA integration setup
defaults.bluealsa.service "org.bluealsa"
defaults.bluealsa.profile "a2dp"
defaults.bluealsa.delay 10000
defaults.bluealsa.interface "hci0"
defaults.bluealsa.device "EB:06:EF:A6:A9:D4"
ctl.bluealsa {
@args [ SRV BAT ]
@args.SRV {
type string
default {
@func refer
name defaults.bluealsa.service
}
}
@args.BAT {
type string
default {
@func refer
name defaults.bluealsa.battery
}
}
type bluealsa
service $SRV
battery $BAT
}
pcm.bluealsa {
@args [ SRV DEV PROFILE DELAY ]
@args.SRV {
type string
default {
@func refer
name defaults.bluealsa.service
}
}
@args.DEV {
type string
default {
@func refer
name defaults.bluealsa.device
}
}
@args.PROFILE {
type string
default {
@func refer
name defaults.bluealsa.profile
}
}
@args.DELAY {
type integer
default {
@func refer
name defaults.bluealsa.delay
}
}
type plug
slave.pcm {
type bluealsa
service $SRV
device $DEV
profile $PROFILE
delay $DELAY
}
hint {
show {
@func refer
name defaults.namehint.extended
}
description "Bluetooth Audio Hub"
}
}
pcm {
type bluealsa
interface "hci0"
device "EB:06:EF:A6:A9:D4"
profile "a2dp"
}
ctl.!default {
type bluealsa
interface "hci0"
}
/lib/systemd/system/bluetooth.service
[Unit]
Description=Bluetooth service
Documentation=man:bluetoothd(8)
ConditionPathIsDirectory=/sys/class/bluetooth
[Service]
Type=dbus
BusName=org.bluez
ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=sap --plugin=a2dp
NotifyAccess=main
#WatchdogSec=10
#Restart=on-failure
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
LimitNPROC=1
[Install]
WantedBy=bluetooth.target
Alias=dbus-org.bluez.service
/lib/systemd/system/bluealsa.service
[Unit]
Description=BluezAlsa proxy
Requires=bluetooth.service
After=bluetooth.service
[Service]
Type=simple
#User=<user>
#Group=audio
ExecStart=/usr/bin/bluealsa -i hci0 -p a2dp-source -S
[Install]
WantedBy=multi-user.target
не забывают включать bluealsa.service:
systemctl enable bluealsa.service
~/.asoundrc не необходим и удален.
Перезагрузка и это работали на меня. Другая вещь состоит в том, как она работает - к сожалению, аудио чрезвычайно glitchy. Это повреждается каждый наполовину второй, не в зависимости от расстояния между NAS и получателем Bluetooth, не в зависимости от формата файла. Не может понять почему и поиск решения. Какие-либо идеи?