ALSA: como alterar temporariamente o dispositivo de saída

14

Eu quero fazer o mais simples possível em ALSA: ter fones de ouvido USB produzindo som em vez de alto-falante interno do meu tablet. Eu não quero alterar arquivos de configuração, como asound.rc ou alsa.conf ou asound.conf e permanentemente definir fones de ouvido como dispositivo de saída padrão, alterando a ordem dos dispositivos, eu quero um efeito temporário, apenas até eu desconectar os fones de ouvido. Estranhamente, não posso google a resposta. alsamixer é capaz de fazer isso (parece que não)?

No Gnome, você pode facilmente selecionar o dispositivo de saída atual com PulseAudio , na interface GUI ou CLI, mas o PulseAudio funciona em cima do ALSA! Então eu também me pergunto, como isso força o ALSA a mudar o dispositivo de saída?

    
por Boris Burkov 25.08.2013 / 15:29

1 resposta

4

Se o dispositivo USB estiver listado como uma placa de som no sistema, você pode querer verificar man amixer e usar o parâmetro unmute .

amixer -c 1 set Master playback 100% unmute

Verifique também os outros canais (PCM, etc.). Os exemplos do manual são:

   amixer -c 1 sset Line,0 80%,40% unmute cap
          will set the second soundcard's left line input volume to 80% and right line
          input to 40%, unmute it, and select it as a source for capture (recording).

   amixer -c 1 -- sset Master playback -20dB
          will set the master volume of the second card to -20dB.  If the  master  has
          multiple channels, all channels are set to the same value.

   amixer -c 1 set PCM 2dB+
          will  increase  the PCM volume of the second card with 2dB.  When both play‐
          back and capture volumes exist, this is applied to both volumes.

   amixer -c 2 cset iface=MIXER,name='Line Playback Volume",index=1 40%
          will set the third soundcard's second line playback volume(s) to 40%

   amixer -c 2 cset numid=34 40%
          will set the 34th soundcard element to 40%
    
por 26.08.2013 / 00:44