Поисковая строка

Автоматическое переключение звука при соединении с Bluetooth-устройством на CoreElec

Уже довольно давно в качестве основного медиацентра для просмотра видео-контента различных сервисов, спутникового ТВ и ретро-гейминга я использую приставку на SOC Amlogic с установленным альтернативным ПО CoreElec (форк от LibreElec). Для ночных бдений в окружении спящей семьи я приобрёл простенькие Bluetooth-наушники, но использовать их систематически мне крайне мешала неприятная особенность интерфейса Kodi..

Кто пользовался семейством Elec-продуктов уже наверняка догадался, что речь идёт о весьма неудобном переключении устройства вывода звука, требующем некоторых манипуляций в настройках. Необходимость каждый раз выполнять несколько действий для включения звука в "ушах" (а потом возвращать настройки обратно при отключении) сводила удобство использования к минимуму.
В качестве готового решения я нашёл только плагин-профайлер настроек звука, позволяющий среди прочего указывать в профиле устройство вывода. Но для переключения созданных профилей предлагается либо снова использовать интерфейс дополнения, либо привязать эту функцию к кнопке пульта. Т.к. лазить по настройкам плагина не намного удобнее настроек самой системы, а также из-за использования минималистичного радио-пульта без лишних кнопок, было решено придумать свою переключалку вида "чтоп оно само" :)

Суть решения довольно проста и топорна:
  • пишем скрипт, переключающий устройство вывода на "PULSE:Default" при обнаружении аудио-рендерера типа "a2dp_sink", либо на "ALSA:default" в противном случае;
  • пишем udev-правило, реагирующее на подключение/отключение любых Bluetooth-устройств запуском нашего скрипта;
  • включаем в настройках служб ползунок "Разрешить удалённое управление по HTTP".
Последний пункт нужен потому, что управление через JSON-RPC это единственный (известный мне) способ изменить системную настройку на современной версии Kodi.

Собственно, это всё :) Кидаем наши поделки любым удобным способом в папку "/storage/.config/udev.rules.d" (если включена Samba, то сетевой путь будет "\\сетевое_имя_приставки\Configfiles\udev.rules.d") и наслаждаемся результатом, даже перезагрузка не понадобится!

СКАЧАТЬ мой вариант
ОБСУДИТЬ В TELEGRAM
ПОКОРМИТЬ КАПИБАРУ :)