Тут, думаю, уместно пару слов уделить самой колонке. Этакий массивный брусок из неизвестного металла, приятный на ощупь. В качестве бонуса - FM-радио, сумевшее поймать пару хрипящих радиостанций, и заявленное время автономной работы 10 часов. Последнее, правда, проверить ещё не удосужился.
Итак, настройка. После предыдущих экспериментов в системе остались какие-то установленные пакеты (bluez, pulseaudio-module-bluetooth), так что доустанавливать ничего не пришлось. Запустил апплет blueman-applet, включил поиск устройств, тот нашел колонку, находящуюся в режиме bluetooth, и успешно подключился. Руководство пользователя к колонке предупреждало, что, возможно, потребуется ввести пароль 0000, но это не понадобилось. Кстати, пароль тут, похоже, неизменяемый, так что надо быть готовым к тому, что какой-нибудь шутник-сосед за стеной подключится и начнет транслировать всякие непристойности.
На этом настройка не закончилась. Командой pavucontrol вызвал регулятор громкости. В нём есть вкладка "Конфигурация". В этой вкладке отображаются всякие аудиоустройства. Надо найти свой пункт "Sven PS-170BL" и выбрать профиль "Воспроизведение высокого качества (приемник A2DP)" (откуда он там взялся - это, конечно, интересный вопрос). Во вкладке "Устройства вывода" эту колонку можно сделать устройством вывода звука по умолчанию, но моя задача заключалась не в этом.
Задача у меня стояла сделать так, чтобы часть приложений пищала через интегрированную на материнку звуковую карту, а другая часть - через колонку. Сделать это оказалось просто. При запуске приложения, пытающегося вывести звук (например, firefox или mpg123), это приложение появляется в списке во вкладке "Проигрывание", и для него можно выбрать требуемое устройство вывода.
Кроме того, для mpg123 можно вообще обойтись CLI. Команда
pacmd list-sinksвыдаёт некий список примерно такого вида:
2 sink(s) available. * index: 0 name: <alsa_output.pci-0000_00_07.0.analog-stereo> driver: <module-alsa-card.c> .... .... index: 7 name: <bluez_sink.30_41_30_FA_95_57> driver: <module-bluez5-device.c> .... .... module: 33 properties: bluetooth.protocol = "a2dp_sink" device.description = "SVEN PS-170BL" device.string = "30:41:30:FA:95:57" device.api = "bluez" device.class = "sound" device.bus = "bluetooth" device.form_factor = "hands-free" bluez.path = "/org/bluez/hci0/dev_30_41_30_FA_95_57" bluez.class = "0x240408" bluez.alias = "SVEN PS-170BL" device.icon_name = "audio-handsfree-bluetooth" device.intended_roles = "phone" ports: handsfree-output: Хендс-фри (priority 0, latency offset 0 usec, available: yes) properties: active port:В нём нас интересует одна строка: "name: <bluez_sink.30_41_30_FA_95_57>". В домашнем каталоге создаём файл ~/.asoundrc с таким содержимым:
pcm.bluetooth { type pulse device "bluez_sink.30_41_30_FA_95_57" }Теперь можно вызывать mpg123 такой командой:
mpg123 -o alsa -a bluetooth мой_файл.mp3и звук пойдёт через колонку.
Литература
https://wiki.archlinux.org/index.php/Bluetooth_headset_(Русский)
https://wiki.archlinux.org/index.php/PulseAudio_(Русский)
https://askubuntu.com/questions/609292/different-applications-different-sound-output-devices
https://askubuntu.com/questions/14077/how-can-i-change-the-default-audio-device-from-command-line
https://wiki.debian.org/Bluetooth/Alsa