Jump to content
guilhermevieira

Alternar saída de som HDMI / analógico com um script simples

Recommended Posts

Boas pessoal

 

Há um verifiquei constantemente em diversos forúns a necessidade que vaŕias pessoas têm de mudar a saída da placa de som para o HDMI ou o altifalante do laptop embutido através do gerenciador de som. Então depois de algum tempo de pesquisa encontrei um script que com algumas modificações ficou 100% funcional! 

 

#!/bin/bash

#Change active audio output to HDMI or monitor

#setting script parameters:
hdmi_default_volume=50000
analog_default_volume=25000

current_output=`pacmd list-sinks | grep name: | sed -e 's/\tname: <//g' -e 's/>//g' -e 's/[a-z0-9_-]\+//' -e 's/[a-z0-9_-]\+//' -e 's/[.0-9]//g'`

echo "Current output is: " $current_output

if [[ $current_output = "hdmi-stereo" ]]; then
    echo "New output is: analog-stereo"
    pacmd set-card-profile 0 output:analog-stereo+input:analog-stereo
    sink_index=`pacmd list-sinks | grep index | sed -e 's/ \+//g' -e 's/[a-z*:]//g'`
    pacmd set-sink-volume $sink_index $hdmi_default_volume
fi

if [[ $current_output = "analog-stereo" ]]; then
    echo "New output is: hdmi-stereo"
    pacmd set-card-profile 0 output:hdmi-stereo
    sink_index=`pacmd list-sinks | grep index | sed -e 's/ \+//g' -e 's/[a-z*:]//g'`
    pacmd set-sink-volume $sink_index $analog_default_volume
fi


Eu coloquei o launcher deste script na área de trabalho, então eu posso alternar entre HDMI e o som analógico ao clicar duas vezes nele. Se vocês tiverem outras saídas, podem facilmente modificar o código acima, e incluí-los.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Gabriel Lopes
      Olá, nem sei direito como fazer este tópico, já tentei pedir ajuda no stackoverflow porem meu tópico foi fechado sem notificação.
      Eu sempre usava o Windows e eu fazia bots para o Discord com o Node.js, nunca usei ele instalado, baixava o binário e usava ele... Hoje uso o Linux (Xubuntu 20.04 LTS amd64 focal) bom ontem baixei o binário para Linux mas o NODE não executa de forma alguma o terminal mostra isso:
      node: impossível executar o arquivo binário: Erro no formato exec Ai eu mesmo tive a ideia de compilar o Node.js a partir da fonte do Github, compilou sem erros, ai abri ele e funciona, bem peguei um projeto antigo que tinha quando usava o Windows e node rodou sem erros o projeto, mas me parece que não compilou o NPM, não acho documentação disso em lugar nenhum e também eu gostaria de saber porque o binário do site não abre no meu Linux?
       
      Moderadoras caso meu tópico esteja fora de local certo desculpe, mas to chateado com isso.
       
      Saudações,
      Gabriel Lopes
    • By augustusdev
      Estou precisando muito! Para estudo e trabalho! Alguém pode me ajudar?
    • By mamotinho
      Olá, a alguns dias eu percebi que estou com um único problema no código do meu site , e queria sabe se é possível eu corrigir essa mensagem de erro segue abaixo imagem do erro.
       

    • By Mauricio Molina
      Ola,
       
      Tenho este script que peguei na internet, conheço pouco de javascript, para calcular o valor de dois inputs e adicionar a outro input o resultado, esta funcionando corretamente com as alterações que fiz.
       
      Da maneira que eles esta, o resultado esta sendo gerado em forma de moeda ex 20,00.
       
      Gostaria que ele gerasse um numero sem as duas casas após a vírgula, ex 20, e se caso o resultado der 4 dígitos que colocasse ponto automaticamente, ex 2.000
       
      Alguém pode dar uma força?
       
      <script type="text/javascript"> function id(el) { return document.getElementById( el ); } function metros_perc( un, cooper ) { return parseFloat(un.replace(',', '.'), 10) * parseFloat(cooper.replace(',', '.'), 10); } window.onload = function() { id('mquadra').addEventListener('keyup', function() { var result = metros_perc( this.value , id('cooper').value ); id('metros_perc').value = String(result.toFixed(2)).formatMoney(); }); id('cooper').addEventListener('keyup', function(){ var result = metros_perc( id('mquadra').value , this.value ); id('metros_perc').value = String(result.toFixed(2)).formatMoney(); }); } String.prototype.formatMoney = function() { var v = this; if(v.indexOf('.') === -1) { v = v.replace(/([\d]+)/, "$00"); } v = v.replace(/([\d]+)\.([\d]{1})$/, "$1,$20"); v = v.replace(/([\d]+)\.([\d]{2})$/, "$1,$2"); v = v.replace(/([\d]+)([\d]{3}),([\d]{2})$/, "$1.$2,$3"); return v; }; </script> Obrigado!
    • By Thiago Gomes Carlos
      Construir um algoritmo usando o Visual Studio Code, utilizando somente o for
       
      Fulano tem 1,50 metro e cresce 2 centímetros por ano, enquanto Ciclano tem 1,10 metro e cresce 3 centímetros por ano. Construa um algoritmo que calcule e imprima quantos anos serão necessários para que Ciclano seja maior que Fulano.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.