2 votos

Cómo cambiar de forma remota y automática el dispositivo de salida de audio de un Mac

Tengo un Mac (con Catalina) dedicado como servidor multimedia, que ejecuta Plex y Spotify. Me gustaría poder, desde mi portátil Mac, simplemente hacer clic en algo y cambiar la configuración de salida de audio del Mac remoto desde sus altavoces internos a 'Bat Cave', mi Apple TV gen 4.

¿Alguna idea sobre cómo lograrlo? Me siento más a gusto con las secuencias de comandos del shell de Unix que con AppleScript o Automator, pero cualquier solución, incluso híbrida, sería genial.

2voto

Chap Puntos 348

Así es como lo hice. ( Nota: esta solución requiere estar familiarizado con Terminal.app y el ssh comando )

  1. El post de @Tetsujin arriba me llevó a este puesto que contenía un Applescript que hacía el trabajo. (Otro comentario mencionó que al designar un dispositivo Airplay, la línea de separación como un elemento).
(*
Applescript to toggle between two sound outputs by Line number, ¬
as they appear in the Sound Control Panel. Based on code by ¬
Arthur Hammer http://apple.stackexchange.com/a/209434/85275
*)

set internal to 1 --internal speakers
set appletv to 3 --Follows internal speakers and separator line for Airplay devices

tell application "System Preferences"
  activate
  set current pane to pane "com.apple.preference.sound"
end tell

tell application "System Events"
  tell application process "System Preferences"
      repeat until exists tab group 1 of window "Sound"
      end repeat
      tell tab group 1 of window "Sound"
          click radio button "Output"
          if (selected of row internal of table 1 of scroll area 1) then
              set selected of row appletv of table 1 of scroll area 1 to true
          else
              set selected of row internal of table 1 of scroll area 1 to true
          end if
      end tell
  end tell
end tell
tell application "System Preferences" to quit

Guardé este script en mi carpeta de Documentos en el Mac del servidor de medios, como toggle_audio_output.scpt

  1. En el lado del portátil, utilicé Automator para crear una App que consiste en una acción, Run Shell Script . El "script" era un comando de una sola línea,
ssh plex@retsina.local osascript /Users/plex/Documents/toggle_audio_output.scpt

Esto inicia la sesión en mi servidor y ejecuta el comando shell osascript que a su vez ejecuta mi applescript.

Tenga en cuenta que hay que pasar por un montón de aros adicionales para permitir ssh para iniciar la sesión sin pedir la contraseña. Estoy seguro (?) de que hay una forma de Applescript o Automator para hacer algo similar, y si alguien quiere sugerir cómo, que lo haga.

He guardado el Automator script ( toggle_retsina_audio_output.app ) en ~/Aplicaciones, y luego arrastrar el icono al Dock. Ahora, con un solo clic, logro lo que me propuse.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X