Atalho para trocar dispositivo de áudio no Linux

on GuioSoft Blog

#linux #audio #automation

Entre reuniões virtuais usando headset, escutar música ou mesmo só assistir uma aula, eu prefiro que o headset seja usado só quando é necessário um isolamento.

Para as outras opções, as caixas de som ambiente são bem mais confortáveis.

No Ubuntu, é meio chatinho ficar chaveando entre os dispositivos de saída de áudio. Aqui na minha máquina, são uma meia dúzia de cliques de mouse.

Então este script aqui em baixo deixou as coisas bem mais interessantes. Fiz algumas alterações, mas a ideia eu peguei desse link.

# audio-device-switch.sh

 1#!/bin/bash
 2
 3declare -i sinks_count=`pacmd list-sinks | grep -c index:[[:space:]][[:digit:]]`
 4declare -i active_sink_index=`pacmd list-sinks | sed -n -e 's/\*[[:space:]]index:[[:space:]]\([[:digit:]]\)/\1/p'`
 5declare -i major_sink_index=$sinks_count
 6declare -i next_sink_index=1
 7
 8if [ $active_sink_index -ne $major_sink_index ] ; then
 9    next_sink_index=active_sink_index+1
10fi
11
12declare -i new_sink_index=$next_sink_index
13
14#change the default sink
15pacmd "set-default-sink ${new_sink_index}"
16
17
18# move all inputs to the new sink: $new_sink_index"
19
20for app in $(pacmd list-sink-inputs | sed -n -e 's/index:[[:space:]]\([[:digit:]]\)/\1/p');
21do
22    pacmd "move-sink-input $app $new_sink_index"
23done
24
25# echo 'display notification'
26declare -i ndx=1
27pacmd list-sinks | sed -n -e 's/device.description[[:space:]]=[[:space:]]"\(.*\)"/\1/p' | while read line;
28do
29    if [ $new_sink_index -eq $ndx ] ; then
30        notify-send -i audio-volume-high "Sound output switched to" "$line"
31        exit
32    fi
33    ndx=ndx+1
34done

Salve o arquivo em uma pasta segura, por exemplo /usr/local/bin/audio-device-switch.sh e dê as permissões de execução:

1sudo chmod 755 /usr/local/bin/audio-device-switch.sh

# Configurações de atalho de teclado

Acesse o menu de setup da sua distribuição, e informe o nome do atalho (Audio Device Switch, no meu caso), o local onde o script está salvo, e o atalho que você deseja usar (Eu escolhi Win+F12).

Prontinho, agora é só aproveitar.