1 votes

Comment changer à distance et automatiquement le périphérique de sortie audio d'un Mac

J'ai un Mac (sous Catalina) dédié en tant que serveur multimédia, avec Plex et Spotify. J'aimerais pouvoir, à partir de mon Mac portable, cliquer simplement sur quelque chose et faire passer le paramètre de sortie audio du Mac distant de ses haut-parleurs internes à "Bat Cave", mon Apple TV gen 4.

Avez-vous des idées sur la façon d'y parvenir ? Je suis plus à l'aise avec les scripts shell Unix qu'avec AppleScript ou Automator, mais toute solution, même hybride, serait la bienvenue.

1 votes

Voir - apple.stackexchange.com/questions/217148/ (à priori, il faudrait l'exécuter sur le Mac distant lui-même, en raison de la nécessité d'un script d'interface graphique).

1voto

Chap Points 1038

Voici comment j'ai procédé. ( Remarque : cette solution nécessite une bonne connaissance de Terminal.app et de l'application ssh commande )

  1. Le message de @Tetsujin ci-dessus m'a amené à ce poste qui contenait un Applescript qui a fait le travail. (Un autre commentaire mentionnait que lors de la désignation d'un appareil Airplay, la ligne de séparation comme un élément).
(*
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

J'ai stocké ce script dans mon dossier Documents sur le Mac du serveur de médias, en tant que toggle_audio_output.scpt

  1. Du côté de l'ordinateur portable, j'ai utilisé Automator pour créer une application consistant en une seule action, Run Shell Script . Le "script" était une commande d'une ligne,
ssh plex@retsina.local osascript /Users/plex/Documents/toggle_audio_output.scpt

Cela permet de se connecter à mon serveur et d'exécuter la commande shell osascript qui à son tour exécute mon applescript.

Notez qu'il y a beaucoup d'obstacles supplémentaires à franchir pour permettre à l'UE d'agir. ssh pour se connecter sans demander de mot de passe. Je suis sûr ( ?) qu'il existe une méthode Applescript ou Automator pour faire quelque chose de similaire, et si quelqu'un veut suggérer comment faire, qu'il le fasse.

J'ai enregistré le script d'Automator ( toggle_retsina_audio_output.app ) dans ~/Applications, puis faites glisser l'icône dans le Dock. Maintenant, d'un seul clic, j'accomplis ce que j'avais prévu de faire.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X