1 votos

Lanzar un script personalizado en un mensaje de registro específico

Estoy usando AirServer para Airplay en mi Mac. Por lo que sé, AirServer no proporciona una interfaz para ejecutar scripts en acciones específicas. Sin embargo, he encontrado un AirServer mensaje específico dentro del Consola cada vez que un dispositivo se conecta o desconecta del servicio. También he probado lo siguiente en Terminal :

log stream | grep "AirServer"

Estoy buscando una forma eficiente de ejecutar un script personalizado siempre que el proceso AirServer derrama un mensaje específico (en mi caso conectar/desconectar).

2 votos

Puede adoptar un enfoque similar al mío para el Bluetooth descrito en mi pregunta aquí . Puede utilizar WatchPaths como si escribiera en su propio archivo de registro.

0 votos

Lamentablemente, no escribe su propio archivo de registro. Gracias de todos modos.

1voto

Pratik Puntos 11

AirServer implementa una interfaz básica de AppleScript que puede decirle si AirServer está en uso llamando:
osascript -e "tell application \"AirServer\" to inUse"

Otro enfoque es crear una aplicación básica que supervise las notificaciones de AirServer utilizando NSDistributedNotificationCenter:
com.airserverapp.MirroringDidStart, com.airserverapp.MirroringDidStop, com.airserverapp.AudioDidStart, com.airserverapp.AudioDidStop, com.airserverapp.VideoDidStart, com.airserverapp.VideoDidStop

0 votos

Probé la primera sugerencia y funcionó en una dirección. Es decir, después de iniciar AirServer la línea script devuelve "false". Una vez que un dispositivo se conecta a través de Airplay, se convierte en "true". Sin embargo, eso es todo, nunca vuelve. También después de desconectarse de AirServer, no pasa nada y sólo un reinicio de la aplicación ayuda. Acerca de la segunda sugerencia, podría imaginar, que esto funciona, pero no estoy familiarizado con la programación de Swift. Por lo tanto, esto tomará un poco más de tiempo, al menos para mí.

0 votos

Hice algunas pruebas más. El comando AppleScript tell application "AirServer" to inUse sólo funciona si realmente se ejecuta algo de música. Si sólo se conecta y desconecta, el estado inUse se mantiene True . Esto sigue siendo un poco propenso a errores y tendré que buscar una solución.

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