.

Breaking News
recent

-

Script para cambio de salida de audio HDMI-Audio Interno

Como cambiar la salida de audio entre HDMI y el audio interno






Aquí les mostrare un script que encontré y modifique un poco el cual que revisa si esta conectado el cable HDMI para decidir si cambiar el perfil de salida de pulseaudio entre HDMI Output o Analog Stereo Duplex


1-Abren su editor de texto y pegan el siguiente codigo


!/bin/bash

hdmi_on=`xrandr | grep -c "HDMI1 connected"`
if [ $hdmi_on -eq 1 ]; then
  notify-send -u normal -t 500 -i gnome-sound-properties "Cambio de Salida de Audio" "HDMI Activado"
  pacmd "set-card-profile 0 output:hdmi-stereo"
else
  notify-send -u normal -t 500 -i gnome-sound-properties "Cambio de Salida de Audio" "Sonido Interno Activado"
  pacmd "set-card-profile 0 output:analog-stereo+input:analog-stereo" && pulseaudio --kill && pulseaudio --start
fi


2- Guarden el archivo donde quieran con cualquier nombre pero de extension .sh. Por ejemplo cambio-hdmi.sh
3- Darle permiso de ejecución al script ya sea por la propiedades del mismo o con el comando chmod +x [ubicacion del archivo]
4- Esto ultimo depende de la distro de cada quien pero busquen en sus preferencia el apartado de Accesos directos o Atajos del teclado para luego crear un atajo del teclado que ejecute este script. En caso de usar KDE van Preferencias del sistema->Accesos rapidos y Gestos->Accesos Rapidos personalizados->Editar->Nuevos->Acceso rapido global->Orden/Url:


EXPLICACIÓN DEL SCRIPT


hdmi_on=`xrandr | grep -c "HDMI1 connected"
Aqui se usa el comando xrandr para que puertos de video estan conectados a la par del comando grep el guardara un avlor de 0 o 1 en la variable hdmi_on si se encuentra la subcadena "HDMI1 connected" en la salida del comando xrandr
if [ $hdmi_on -eq 1 ]; then Aqui se hace un IF para decidir que hacer en caso de si o no estar conectado el puerto HDMI
 notify-send -u normal -t 500 -i gnome-sound-properties "Cambio de Salida de Audio" "HDMI Activado"  Esta orden envia una notificacion diciendo que cambio de salida se hizo
  pacmd "set-card-profile 0 output:hdmi-stereo" Aqui se uso el comando pacmd para seleccionar un perfil de salida en caso de si estar conectado el puerto HDMI. Pueden verificar que perfiles de salida tienen disponible escribiendo en la terminal el comando pacmd y luego escribir list-cards y en la seccion de profiles:outputs encontraran sus perfiles de salida.


  notify-send -u normal -t 500 -i gnome-sound-properties "Cambio de Salida de Audio" "Sonido Interno Activado"
  pacmd "set-card-profile 0 output:analog-stereo+input:analog-stereo" 
fi 
 en esta parte se hace lo mismo que le anterior pero cambiando el perfil de salida al del audio interno que equivale a los audifonos y/o parlantes externos o internos del equipo.

NOTA: En caso de que al pasar de HDMI al audio interno no se escuche sonido alguno deberan la linea:
 pacmd "set-card-profile 0 output:analog-stereo+input:analog-stereo" 

por:

 pacmd "set-card-profile 0 output:analog-stereo+input:analog-stereo" && pulseaudio --kill && pulseaudio --start 

la orden: pulseaudio --kill && pulseaudio --start. es para reiniciar pulseaudio y aplicarle la nueva configuración

PROBADO EN

Chakra 2013.02 Benz KDE 4.10.1



ESPERO QUE LES HAYA SERVIDO

4 comentarios:

  1. Hola, esto sirve para que al conectar y desconectar el cable HDMI el pc/notbook haga el cambio automaticamente?, si es asi, es lo que llevo buscando todo el año.

    ResponderEliminar
  2. cada que conectas el hdmi tienes que ejecutarlo, y cambiar la salida de audio a los altavoces de la lap para cambiarlo. pero me sirvio, gracias.

    ResponderEliminar
  3. Entiendo que hay que cambiar el valor "profile" por el nombre de la tarjeta en cuestión que aparece listada??

    Gracias!

    ResponderEliminar

-

Con la tecnología de Blogger.