Alterando o volume do ALSA remotamente

2

Eu tenho um Raspberry Pi (chamado Igor) no meu quarto que toca música e, ocasionalmente, fala uma mensagem de aviso. Se eu quiser alterar seu volume ou desativá-lo, preciso ssh nele do meu laptop e inicie alsamixer . Isso é um pouco complicado e eu gostaria de usar alguns atalhos de teclado, ou um controle na tela, apenas para alterar o volume do Igor.

Suponho que eu poderia montar um pequeno servidor no RPi que ouça mensagens da rede e ajuste o volume de acordo. Do meu laptop eu poderia configurar atalhos de teclado que fazem algo como

echo "+10%" | nc igor $portnumber

para 10% mais alto e "-10%" para mais suave. Crie minha própria API, por assim dizer. Mas não há algo lá fora que faz isso? ALSA tem uma API para acesso à rede? Ou o PulseAudio?

Só para deixar claro, não quero transmitir a música em si para o RPi. Igor tem suas próprias fontes de música.

    
por Jos 10.05.2017 / 08:54

1 resposta

0

@CL. deu-me a ideia de executar um único comando através de ssh , acionado por um atalho de teclado.

No RPi, eu tenho um script softer.sh assim:

#!/bin/bash
# Turn the volume down 10%
amixer -c0 set PCM -- $[$(amixer -c0 get PCM|grep -o [0-9]*%|sed 's/%//')-10]% > /dev/null 2>&1

Este get s do volume atual do amixer (que é uma porcentagem), subtrai 10, coloca o símbolo "%" no final e set s o volume no resultado. O mesmo para louder.sh , que adiciona 10%.

No meu laptop eu defino CTRL + F7 para executar:

ssh pi@igor softer.sh

e, claro, CTRL + F8 para

ssh pi@igor louder.sh
    
por Jos 10.05.2017 / 10:24