Через некоторое время использования моих bluetooth-наушников они иногда накапливают задержку и начинают заикаться. Мое ручное решение — отключить и снова подключить их, однако это быстро начинает раздражать. Как мне снова подключить наушники с помощью скрипта?
решение1
Следующий скрипт находит первое устройство в списке устройств Bluetooth компьютера, переподключает его и переключает аудиопрофиль на высококачественный профиль A2DP. В некоторых случаях переподключаться не требуется, но переключение аудиопрофиля с A2DP на HSP и обратно срабатывает (закомментировано ниже).
#!/bin/sh
device=$(echo -e 'list' | bluetoothctl | grep Device)
name=$(echo $device | sed -n 's/.* [0-9A-C:]\{17\} \(.*\)/\1/p')
address=$(echo $device | awk '{ print $4; }')
echo "Disconnect $name ($device)"
echo -e "disconnect $address" | bluetoothctl
sleep 5
echo "Connect $name ($device)"
echo -e "connect $address" | bluetoothctl
sleep 5
card=$(pacmd list-cards | grep -oP 'name: <\K(bluez[^>]*)')
# echo "Switching $card to HSP"
# pacmd set-card-profile $card headset_head_unit
# sleep 1
echo "Switching $card to A2DP"
pacmd set-card-profile $card a2dp_sink