Reproduza e controle vários streams de áudio

1

Atualmente, estou procurando alguma solução ou conselho. Eu preciso jogar e controlar (sim, isso é muito importante para mim) muitos fluxos (provavelmente de uma fonte). Por exemplo, meu sistema reproduz algumas músicas relaxantes. Alguém quer me visitar e apertou campainha. Então, nesse momento o volume da música diminui suavemente de 100 para 30 (sim, eu não quero desligar a música), então eu quero ouvir um som de ding-dong. Finalmente, após o volume de ding-dong da minha música aumentar suavemente de volta para 100.

Atualmente, tenho MPD + Pulse + CIFS. Eu sei que o Pulse basicamente é um mixer e, em teoria, eu posso implementar tudo o que eu quero, mas alguém poderia me aconselhar o que fazer? :)

    
por user922871 11.06.2017 / 10:51

1 resposta

1

Você pode controlar os streams do Pulseaudio com pacmd da linha de comando ou de um script. Use pacmd list-sink-inputs para ver todos os fluxos de saída em execução no momento, pacmd set-sink-input-volume para alterar o volume. pacmd help para uma lista de todos os comandos.

Não tenho certeza de como suavemente você pode diminuir o volume usando um loop em um script; Se você quiser que o volume diminua realmente sem problemas, talvez seja necessário escrever um programa usando a API Pulseaudio.

Você pode identificar fluxos por meio de nomes ou propriedades de clientes. Analisar as saídas de pacmd é um pouco trabalhoso, mas geralmente grep ou awk serve.

Você pode reproduzir novos audiostreams, por exemplo via paplay , use --client-name e / ou --stream-name para ajudar a identificar o fluxo.

Obviamente você tem que fazer o script da campainha da porta, etc., este site não é um serviço de escrita de scripts.

    
por 11.06.2017 / 14:48