Para cambiar a la salida de audio HDMI (del monitor) y volver a la salida de audio normal desde el conector de audio del sistema (para auriculares, ya que mi monitor no tiene salida de audio), me encuentro abriendo las preferencias de sonido y seleccionando el canal correcto cada vez. ¿Hay alguna forma de crear un botón de alternancia en el panel o asignar alguna tecla de acceso directo para alternar ya que hago el cambio con tanta frecuencia?
:aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 3: HDMI 0 [HDMI 0]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 7: STAC92xx Digital [STAC92xx Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
sound
software-recommendation
iJeeves
fuente
fuente
Respuestas:
Con pulseaudio podemos seleccionar el sumidero de salida desde la línea de comando:
Este comando puede usarse en un iniciador, script o incluso asignarse a un atajo de teclado para cambiar rápidamente entre diferentes sumideros. Reemplace "SINKNAME" por el nombre o número de su fregadero deseado. El comando proporciona una lista de sumideros conocidos con sus números y nombres asociados:
Nota: Cambiar el sumidero de salida a través de la interfaz de línea de comando solo puede tener efecto si la lectura del dispositivo de destino de transmisión está deshabilitada. Esto se puede hacer editando la línea correspondiente en
/etc/pulse/default.pa
:Alternativamente, podríamos ejecutar pulseaudio para emitir sonido simultáneamente al dispositivo de audio interno y al dispositivo hdmi ejecutando paprefs con la opción de agregar un dispositivo de salida virtual:
fuente
pacmd set-default-sink "alsa_output.pci-0000_00_1b.0.analog-stereo"
ypacmd set-default-sink "alsa_output.pci-0000_00_1b.0.hdmi-stereo"
funciona solo después de seleccionar el perfil correspondiente en Preferencias de sonido. Si estoy configurando HDMI y ejecuto el comando pacmd para estéreo analógico, obtengo el errorSink alsa_output.pci-0000_00_1b.0.analog-stereo does not exist.
Pero si selecciono manualmente el perfil de la GUI de Preferencias de sonido y ejecuto el mismo comando, no obtengo el error. Por lo tanto, no está ayudando a cambiar.Me pareció muy molesto y escribí un script para alternar la salida:
y luego uní una tecla no utilizada en mi teclado para ejecutarla (consulte ¿Cómo vincular comandos personalizados a atajos de teclado? )
fuente
Sin embargo, otra secuencia de comandos Sink Switcher
probado en Ubuntu 16.04
Pero este le permite cambiar solo el audio de la aplicación que desea.
USO: enfoque la aplicación que desea cambiar su sumidero y ejecute este script. ¡¡¡Eso es!!!
Este script detecta la aplicación que está enfocada, encuentra todos los audios que se reproducen desde ella y los cambia al siguiente sumidero disponible.
https://gist.github.com/madacol/1a0d8569166886d2d98f073f7f5c5fe3
Explicando el guión
Necesitamos encontrar el PID de la aplicación en foco
Pero primero necesitamos el xid
Luego insértelo aquí
$xid
para obtener el pid de la aplicaciónAhora necesitamos encontrar las entradas de sumidero relacionadas con ese PID
Primero linealicemos la salida del comando
pacmd list-sink-inputs
para enumerar una entrada de sumidero por línea, mostrando su índice, sumidero y pid en la misma líneaanalicémoslo paso a paso:
grep -E 'index:|sink:|process.id
solo mantenga líneas que contenganindex:
,sink:
oprocess.id
tr '\n' ' '
une todas las líneastr -d '"'
elimina todos los"
personajes Necesario para obtener el pid sin comillassed -e 's/index:/\n/g'
reemplaza todas lasindex:
ocurrencias con un nuevo carácter de línea\n
tail -n +2
elimina la primera línea porque está vacíaY el resultado es algo como esto:
Analicemos una línea para entender lo que significa:
182
es el índice de entrada de sumidero,0
es el índice de sumidero y,13752
al final, es el pid de la aplicación correspondienteLuego iteramos a través de cada línea
Y finalmente filtre solo el pid de entrada de sumidero que coincida con el pid de la aplicación enfocada
Extrayendo datos
Con
awk
nosotros podemos obtener los elementos que necesitamosObtenga números de sumideros, para saber cuándo la rotación de sumideros debe reiniciarse desde 0.
Para encontrar el próximo sumidero, tenemos que recorrer la lista de sumideros para saber cuál coincide con current_sink_index y conocer el índice del próximo sumidero.
Y finalmente, movemos la entrada del receptor para jugar en next_sink_index
Nota sobre Ubuntu 16.04:
Al configurar la tecla de acceso directo, no pude hacerlo funcionar con el administrador de accesos directos de ubuntu. Así que tuve que instalar compizconfig-settings-manager
fuente
Si está utilizando Gnome Shell en lugar de Unity, puede instalar la extensión a continuación. Luego podrá cambiar desde el atajo de volumen en el panel superior. https://extensions.gnome.org/extension/142/output-device-chooser-on-volume-menu/
fuente
Como solo hay una tarjeta de sonido visible en la captura de pantalla, creo que la salida de esta tarjeta de sonido debería cambiarse.
Por ejemplo: tengo una computadora portátil con una tarjeta de sonido integrada, pero tiene una salida digital (SPDIF) cuando está acoplada.
Entonces, lo que quería hacer es cambiar la salida activa o "Perfil" en pulseaudio.
Encontré los comandos que hacen exactamente eso:
Lo que hice para obtener los nombres correctos para mi configuración de salida deseada (aquí, salida digital, pero entrada analógica (micro)) fue:
fuente
He estado tratando de encontrar una solución a este problema también. A partir de Ubuntu 11.04, esto no parece ser posible directamente, solo encontré esta guía para agregar HDMI y Analog como salidas separadas, por lo que pacmd muestra 3 sumideros ahora. Entonces es posible cambiar entre sumideros utilizando los comandos anteriores. ( ver también )
Pero aparentemente Ubuntu 11.11 obtendrá un PulseAudio con sistema de detección de jack. Según el sitio web a continuación, David Henningsson ha codificado una detección a través de udev para que el audio de pulso se cambie automáticamente a la última salida agregada, incluido el cambio entre diferentes perfiles de la misma tarjeta de sonido (como es el caso con su configuración y la mía). (ver aquí )
Así que espero que esto funcione, cuando pruebe la versión final el próximo viernes.
fuente
Basado en muchas de las respuestas anteriores, escribí un script que establece el sumidero de reproducción alternando entre los disponibles.
La mejor manera de usarlo es creando un atajo de teclado para ejecutarlo, por lo que cada vez que presiona esa combinación de teclas, el audio se redirige al siguiente receptor disponible.
El código está disponible aquí: https://gist.github.com/germank/7fa2fb07d45a838bf890addadd8bea8c
fuente
En mi caso, las opciones analógicas no estaban en la lista. Instalar pavucontrol:
sudo apt install pavucontrol
Podría solucionar el problema iniciando la aplicación:
pavucontrol
(enter)Ahora podría sonar y seleccionar diferentes perfiles (en Linux Mint):
fuente
Una alternativa al Indicador de conmutador de sonido (que requiere agregar un PPA) es crear un comando (o un script) y llamarlo con un atajo:
En mi caso fue el
hdmi-stereo-extra1+input
perfil, por lo que en una línea sería:Puede usar un acceso directo personalizado (
gnome-control-center keyboard
) para ejecutarlo conbash -c
(le advertirá si hay algún conflicto con otro acceso directo):Yo suelo:
También puede agregar un
alias
a su.bashrc
.Probado en Ubuntu 16.04 y 18.04
Si no desea el comportamiento anterior en un script, hice algunos cambios en función de la respuesta @ user829996:
fuente
Escribí un applet indicador que te permite cambiar la salida de sonido.
fuente