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 kelvinferraz
      Bom dia pessoal!
       
      Estou com uma situação, vou tentar colocar de forma clara e objetiva:

      Possuo uma aplicação que ainda estou em desenvolvimento no Laravel, a ideia da aplicação é liberar o acesso após a confirmação do pagamento de uma mensalidade, se o usuario não efetuar o pagamento ele não libera o acesso.

      Porém existem duas situações:
      É o usuário que vai pagar mensalmente e a verificação seria todo mês de um novo boleto gerado; O usuário que opinar pagar um plano anual então essa verificação seria feita anualmente.  
      A ideia é utilizar ao menos no inicio uma forma de integrar o PagSeguro com o Laravel e fazer essa verificação, eis que surge minha dúvida a que nível isso é possível? Confesso que estou meio perdido em relação a isso, caso alguém tenha algum "case" parecido, será que poderia me dar uma ajuda, ao menos para tentar explicar a melhor forma de fazer esse tipo de validação/acesso?
       
       
      Desde já agradeço a todos!
    • By joaopedropeterle
      Boa tarde pessoal!
       
      Preciso fazer os valores digitados no campo do formulário serem escritos de forma inversa, pois se trata de dinheiro, nada do que fiz deu certo até agora... meu código está assim:
       
      var valor = $("#valor"); valor.keyup(() => { valor.val(VMasker.toPattern(valor.val(), "999.999.999,99", {reverse: true})); }) #valor é a ID do campo onde será inserido... Não sei se fui bem claro, sou apenas iniciante...rsrs
    • By kelvinferraz
      Bom dia Pessoal tranquilos?

      Estou desenvolvendo uma aplicação web em Laravel é basicamente um sistema de escritorio de advocacia e surgiu uma dúvida do cliente se é possível ele gerar o antecedente criminal de alguém já cadastrado no BD. A parte de cadastro da pessoa já esta funcionando perfeitamente, o que geralmente acontece:
       
      -1º O cliente acessa o site:  http://www2.ssp.sp.gov.br/atestado/novo/Atestado02.cfm 
      -2º Ele preenche os dados do formulário do site
      -3 Gera o documento que sai em PDF

      Realizei umas pesquisas sobre API, Web Service e acredito que tenha encontrado a api do serviço de antecedentes crimais aqui (https://www.servicos.gov.br/api/v1/servicos/788) como consigo criar uma maneira de utilizar essa API para gerar um antecedente de um cliente já cadastrado? 
       
      Exemplo:
      O cliente acessa o sistema, vai em uma opção Antecedentes > Escolhe o cliente que ele deseja gerar > E já retorna o PDF gerado
       
      Se alguém puder me ajudar nisso ficarei grato, ou ao menos explicar como eu faria para utilizar essa API com o Laravel.
    • By Vítor Gonçalves
      Boa Tarde, gostaria se alguém poderia me ajudar!
      tenho um sistema desktop que é validado a cada 6 meses, quando termina essa validade ele pedi para renovar!
      - desejo criar um script em PHP  com a seguinte função:
      -pegar a senha gerada no sistema e enviar para o servidor web( hostinger server-sql) via php
      - o servidor gera e mostra uma contra senha  para ser copiada de volta.
      - ao colar a contra senha no campo "nova licença" no meu programa, ele compara com a que tá no banco de dados na hostinger se bate a mesma e libera o uso.
       
      - já vi isso em outro sistema mas não tive acesso aos scripts para ver como funciona.
    • By iagomonteiro
      Estou criando um jogo de cartas em web, o jogo é bem estilo HS, e estou tendo problemas para adicionar condições de movimentação no drag and drop. Como vocês podem ver eu tenho uma variável mana, e a movimentação das cartas só seria possível de acordo com ela, porém quando adiciono as condições o D&D acaba nem se movimentando mais, pensei em chamar cada função do d&d dentro de uma condição, mas também não funcionou, alguém pode ajudar?
       
      JS
      // Jogador 1
      const fillplace1 = document.querySelector('#fillplace1');
      const fillplace2 = document.querySelector('#fillplace2');
      const fillplace3 = document.querySelector('#fillplace3');
      var fill;
      const empties = document.querySelectorAll('.empty');
      fillplace1.addEventListener('dragstart', enterstart);
      fillplace2.addEventListener('dragstart', enterstart);
      fillplace3.addEventListener('dragstart', enterstart);
      for (const empty of empties) {
          empty.addEventListener('dragover', dragOver);
          empty.addEventListener('dragenter', dragEnter);
          empty.addEventListener('dragleave', dragLeave);
          empty.addEventListener('drop', dragDrop);
      }
      function enterstart(){
          fill = this;
      }
      function dragOver(e) {
          e.preventDefault();
      }
      function dragEnter(e) {
          e.preventDefault();
          this.className += ' hovered';
      }
      function dragLeave() {
          this.className = 'empty';
      }
      function dragDrop(id) {
          this.className = 'empty';
          this.append(fill);
      }
       
      HTML
      <link rel="stylesheet" href="../css/jogar.css" />
       
      <div id="barraGeneral">
          <img src="../imagens/Campo/barraGeneralalfa.png" id="imggeneral" />
      </div>
       
      <div id="persona">
          <img src="../imagens/Personagem/cucapersonagem.png" id="imgpersonagem" />
      </div>
       
      <button id="btpassar" onclick="cont();">Passar Rodada</button>

      <H1 id="campomana">1</H1>
       
      <!-- Mesa das cartas jogador 1-->
      <div class="empty" id="emptyplace1">
      </div>
      <div class="empty" id="emptyplace2">
      </div>
      <div class="empty" id="emptyplace3">
      </div>
      <div class="empty" id="emptyplace4">
      </div>
      <div class="empty" id="emptyplace5">
      </div>
       
      <!-- Mão do jogador 1 -->
      <div class="emptyhand1">
          <div class="fill" draggable="true" id="fillplace1">
              <img src='../imagens/Sorteio/aa.png' draggable='true'>
          </div>
      </div>
       
      <div class="emptyhand2">
          <div class="fill" draggable="true" id="fillplace2">
              <img src='../imagens/Sorteio/aa2.png' draggable='true'>
          </div>
      </div>
       
      <div class="emptyhand3">
          <div class="fill" draggable="true" id="fillplace3">
              <img src='../imagens/Sorteio/aa2.png' draggable='true'>
          </div>
      </div>
       
×

Important Information

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