it-swarm.dev

¿Cómo administro varios dispositivos de reproducción de audio en Windows Vista / 7?

Tengo altavoces (entrada de audio) y auriculares (auriculares USB con su propia tarjeta de sonido) conectados a mi computadora de escritorio. Bajo Windows 7, puedo hacer clic derecho en el Mezclador de audio y seleccionar Dispositivos de reproducción y alternar entre mis estos dispositivos.

¿Hay alguna forma más fácil, tal vez un método abreviado de teclado, que facilite la conmutación? Estoy trabajando en un espacio compartido donde a veces quiero que los audífonos eviten molestar a otras personas, pero en otras ocasiones los altavoces están bien. Quiero poder cambiar rápidamente. En un mundo ideal, la solución a mi pregunta también funcionaría en Vista.

33
Brian Lyttle

La solución a todos sus problemas de automatización de Windows: AutoIt !

Poner este Autoit y compilarlo.

;-----Configuration-----
;The title of the sound config window.
Dim $ConfigWindowTitle = "Sound"
;-----End of configuration----

Dim $ItemNumber = 1
If $CmdLine[0] >= 1 Then ;If we have a parameter...
    $ItemNumber = $CmdLine[1] ;...we should press the button the specified number of times.
EndIf

Run("control mmsys.cpl") ;Run the sound control applet and hide it.

WinWaitActive($ConfigWindowTitle) ;Wait for it to be active before sending keystrokes.

Send("{TAB}{TAB}{TAB}{TAB}") ;Put the focus on the list

For $i = 1 to $ItemNumber Step 1
    Send("{DOWN}")
Next

Send("!s") ;Press Alt + S to set the selected device as the default.
WinClose($ConfigWindowTitle)

Ahora cree un acceso directo, y en el Destino ponga la ruta al ejecutable compilado. Para un argumento, ponga el número del dispositivo de sonido en la lista a la que desea cambiar. (para cambiar al elemento superior de la lista, ponga 1, el segundo elemento de la lista, ponga 2, etc.). Si desea un atajo de teclado, use el campo Tecla de atajo en la ventana de propiedades del atajo.

Estaba buscando algo para hacer lo que quería hacer, y descubrí que no hay una manera programática de cambiar los dispositivos de audio en Vista/7. Simplemente no es algo que Microsoft decidió que los programadores deben hacer, así que hago este script para automatizar el proceso. No es lo mejor, ya que abre la ventana para cambiar el dispositivo (necesario), pero permite crear accesos directos para cambiar el dispositivo de salida para su sonido.

19
Dan Walker

El cambiador de audio predeterminado es actualmente la mejor solución, en mi opinión.

Utiliza llamadas al sistema no documentadas en lugar de simular pulsaciones de teclado, lo que significa que puede usarlo en aplicaciones de pantalla completa sin preocupaciones.

9
cptloop

@Dan Walker Buena solución, pero no perfecta;)

Esta secuencia de comandos utiliza la existencia de un archivo para realizar un cambio, por lo que puede usar el mismo acceso directo para cambiar entre dispositivos de reproducción. Es solo una edición simple:

;-----Configuration-----
;The title of the sound config window.
Dim $ConfigWindowTitle = "Sound"
;-----End of configuration----

Dim $ItemNumber = 1 ; The first itme in the audio list

If FileExists ("a") Then; Use the existence of a file to know if we should toggle
    FileDelete("a")
    $ItemNumber = 3 ; The audio playback device you want to toggle to
Else
    FileOpen("a", 1)
    FileClose("a")
EndIf

Run("control mmsys.cpl") ;Run the sound control applet and hide it.

WinWaitActive($ConfigWindowTitle) ;Wait for it to be active before sending keystrokes.

Send("{TAB}{TAB}{TAB}{TAB}") ;Put the focus on the list

For $i = 1 to $ItemNumber Step 1
    Send("{DOWN}")
Next

Send("!s") ;Press Alt + S to set the selected device as the default.
WinClose($ConfigWindowTitle)
4
Andy Ray

Busqué en Google por un tiempo y lo único que me sirvió fue un script de AutoHotKey, el único deseo que tengo es que esto se haga en segundo plano. Aquí está el script:

Run, mmsys.cpl
WinWait,Sound
ControlSend,SysListView321,{Down}
ControlClick,&Set Default
ControlClick,OK

Puedes cambiarlo para satisfacer tus necesidades.

3
fakts

la solución de Fakt funciona a la perfección. Aquí hay un pequeño script para autohotkey que selecciona el primer dispositivo de audio como predeterminado cuando presionas "F4" y el segundo cuando presionas "F3". Esta versión funciona con todas las versiones de Windows. Probado utilizando Win 7 64.

F3::
Run, mmsys.cpl
WinWaitActive,Sound
ControlSend,SysListView321,{Down}
ControlSend,SysListView321,{Down}
Sleep, 50
ControlClick,Button2
ControlClick,OK
return

F4::
Run, mmsys.cpl
WinWaitActive,Sound
ControlSend,SysListView321,{Down}
Sleep, 50
ControlClick,Button2
ControlClick,OK
return
3
NTyp

El cambiador de audio predeterminado de @cptloop era bastante bueno, pero, de manera molesta, no configuraba un dispositivo como el dispositivo de comunicaciones predeterminado después de haber sido configurado como el dispositivo predeterminado.

Eso me llevó a encontrar Interruptor de audio , que tiene varias características añadidas:

  • Soporte para conmutar dispositivos de grabación.
  • Soporte para múltiples teclas de acceso rápido
  • Interruptor dual (intercambiar los dispositivos predeterminados y de comunicaciones)
  • ¡Y más!

Lo único que no me gusta es que no le permite usar una sola tecla de acceso rápido para alternar entre dos dispositivos, cada uno debe configurarse con su propia tecla de acceso rápido. Dicho esto, v2.0 está en desarrollo y promete algunas mejoras de características, así como también soporte de complementos. También han publicado la API subyacente, por lo que es posible crear su propia solución personalizada.

Edición: Según xenolightning/AudioSwitcher_v1 # 607 , la capacidad de alternar/ciclar dispositivos ya está implementada en v2.0.

2
Dave Hughes

Otro buen programa para hacer esto es Audio Router. Es un programa gratuito (GPL) con versiones de SO de 64 y 32 bits. Aquí está el enlace de GitHub del programa:

Enrutador de audio

Aquí hay un simple GIF de cómo se usa:

enter image description here

0
user2597747