Изменить профиль звуковой карты с pactl вместо pavucontrol
У меня есть сервер медиа-центра (Asrock Nvidia ION330) с Ubuntu 16.04. Он работает Kodi и подключен к моему телевизору через кабель HDMI. У ПК есть больше аудиовыходов, таких как стереоразъем и разъемы iec958, которые я подключил к усилителю Hi-Fi.
Я хочу добавить новую функциональность в мой медиацентр, Bluetooth-приемник a2dp. На самом деле это очень просто, просто подключив устройство к bluetoothctl, и все готово, но я не хочу, чтобы музыка воспроизводилась через HDMI, потому что я не хочу слышать музыку в телевизоре.
С pavucontrol очень просто изменить профиль моей звуковой карты и вывести музыку через стерео джек или iec958, но я хочу сделать это в режиме без наушников. Я не хочу брать клавиатуру, запускать pavucontrol и менять профиль каждый раз, когда хочу услышать музыку.
У меня есть скрипт-демон, который определяет, когда мой телефон сопряжен, и пытается изменить профиль звуковой карты с помощью pactl, но по какой-то неизвестной причине моя звуковая карта игнорирует команду.
Я пытаюсь выполнить команду: "pactl set-card-profile 0 output:iec958-stereo" Я работаю с тем же пользователем, который запускает kodi, и команда не выдает никакой ошибки. Более того, если я посмотрю на активный профиль звуковой карты после выполнения команды, я вижу, что профиль изменился, но музыка продолжает воспроизводиться через HDMI.
Я не знаю, почему pavucontrol работает все время, но pactl не работает
РЕДАКТИРОВАТЬ: я нашел обходной путь, но не устраняет первоначальную проблему. У меня есть Music Player Daemon, запущенный на том же сервере, у него есть свой собственный экземпляр pulseaudio, с другим профилем звуковой карты. MPD играет через SPDIF, а Kodi - через HDMI. Все, что я сделал, это добавил пользователя mpd в группу lp, чтобы пользователь mpd мог видеть ресурсы Bluetooth. Теперь, когда я подключаю свой телефон, сеанс pulseaudio в mpd может видеть источник bluetooth, и он также проигрывает через SPDIF. Что-то редкое в том, что сеанс pulseaudio от Kodi больше не видит источник Bluetooth, но меня это не беспокоит.