суббота, 27 января 2018 г.

Ubuntu: подключаем bluetooth-колонку

В общем, обзавёлся я bluetooth-колонкой. Ну захотелось засыпать под приятную музыку с ютуба, а компьютер стоит в другой комнате. Не дырявить же из-за такого пустяка стены! Поэтому выбор пал на bluetooth. В DNS-е прикупил Sven PS-170BL и принялся её настраивать.

Тут, думаю, уместно пару слов уделить самой колонке. Этакий массивный брусок из неизвестного металла, приятный на ощупь. В качестве бонуса - 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

вторник, 9 января 2018 г.

Windows: полезный список CLSID

А может, и бесполезный. Но пусть будет:

::{d20ea4e1-3957-11d2-a40b-0c5020524153} Administrative Tools  
::{85bbd920-42a0-1069-a2e4-08002b30309d} Briefcase  
::{21ec2020-3aea-1069-a2dd-08002b30309d} Control Panel  
::{d20ea4e1-3957-11d2-a40b-0c5020524152} Fonts  
::{ff393560-c2a7-11cf-bff4-444553540000} History  
::{00020d75-0000-0000-c000-000000000046} Inbox  
::{00028b00-0000-0000-c000-000000000046} Microsoft Network  
::{20d04fe0-3aea-1069-a2d8-08002b30309d} My Computer 
::{450d8fba-ad25-11d0-98a8-0800361b1103} My Documents 
::{208d2c60-3aea-1069-a2d7-08002b30309d} My Network Places 
::{1f4de370-d627-11d1-ba4f-00a0c91eedba} Network Computers 
::{7007acc7-3202-11d1-aad2-00805fc1270e} Network Connections 
::{2227a280-3aea-1069-a2de-08002b30309d} Printers and Faxes 
::{7be9d83c-a729-4d97-b5a7-1b7313c39e0a} Programs Folder  
::{645ff040-5081-101b-9f08-00aa002f954e} Recycle Bin 
::{e211b736-43fd-11d1-9efb-0000f8757fcd} Scanners and Cameras  
::{d6277990-4c6a-11cf-8d87-00aa0060f5bf} Scheduled Tasks 
::{48e7caab-b918-4e58-a94d-505519c795dc} Start Menu Folder  
::{7bd29e00-76c1-11cf-9dd0-00a0c9034933} Temporary Internet Files  
::{bdeadf00-c265-11d0-bced-00a0c90ab50f} Web Folders

подсмотрел тут.