Do script bash, reproduza som pelos alto-falantes internos, deixando-os efetivamente desativados, caso contrário,

0

Eu postei uma pergunta semelhante anteriormente, mas Kamil Maciorowski corretamente & sabiamente apontou que, como postado, não era realmente o único problema que parecia ser, mas um amálgama de 3. Então, eu apaguei o sistema quebrado e a questão. Estou começando de novo com uma nova instalação do Lubuntu, a atual. Fora da caixa, se eu ligar os fones de ouvido bluetooth, o som será reproduzido através deles e não dos alto-falantes internos. Se eu desligar os fones de ouvido, o som será reproduzido automaticamente pelos alto-falantes.

O que eu prefiro é nunca enviar nenhum som para os oradores, a menos que eu direcione explicitamente a saída de um comando específico para eles. Como, pseudocódigo: aplay /path/fire-alarm.wav -o speakers e todos os outros sons tocados pelos fones de ouvido, se disponíveis, & caso contrário, simplesmente não jogaria nada.

Se não houver provisão direta para esse tipo de política, gostaria de saber se existe alguma maneira de enganar o sistema para ver / dev / null como um & dissipador de áudio sempre disponível, o segundo da fila após os fones de ouvido e à frente dos alto-falantes internos. Isso, em conjunto com um comando 'tocar este som através dos alto-falantes', deve fazê-lo.

Se nenhum desses for possível, os comandos para desativar e ativar os alto-falantes sem afetar a função de fone de ouvido & sem re-logging serviria o propósito quase tão bem, desde que algo na arquitetura do som linux bizantino não decida espontaneamente "Oh, seus alto-falantes estão desligados, eu vou consertar isso para você."

Isso não é o mesmo que simplesmente dizer que os fones de ouvido bluetooth devem ser o padrão. É assim que é agora. Se eu assistir "Debbie Does Dubai" & os fones de ouvido saem do alcance, ou ficam sem suco, ou eu simplesmente tento empurrá-los para fora tentando ajustar sua posição física, não quero que o som mude automaticamente para começar a sair dos alto-falantes.

O que eu estou procurando é uma política que não envia nada aos oradores, a menos que eu diga explicitamente para enviar um fluxo específico para lá, e envie apenas isso, ou não, uma maneira de desabilitar e habilitar os falantes sem logging.

    
por palidin 16.04.2018 / 04:51

1 resposta

0

PULSE_SINK = < sink_name > algum programa

Você pode obter uma lista dos nomes "sink_name" disponíveis em:

LANG=C pactl list | grep -A2 'Sink #' | grep Name: | cut -d" " -f2
    
por 16.04.2018 / 06:41