5 votos

¿Cómo mostrar una notificación cuando se enciende la webcam iSIght?

Es posible obtener una notificación de escritorio cuando mi iSight enciende? Sería óptimo si esto puede ir a través de Gruñido, pero he probado HardwareGrowler y no me dan una notificación.

Sé que la luz verde siempre se enciende cuando la iSight se enciende, pero cuando la iSight se enciende por un segundo es posible que no estoy mirando la pantalla y que echo de menos la luz verde, por lo tanto, una notificación que permanece en la pantalla hasta que cierre sería óptimo.

Estoy en un MacBook Pro 5,3 y tengo Mountain Lion 10.8.3.

2voto

user13414 Puntos 111

Con la ayuda de Gruñido de la documentación acerca de la compatibilidad con AppleScript y una pequeña discusión con Bart Arondson y Elliot B en los comentarios a la pregunta que me he encontrado con el siguiente AppleScript.

He guardado esta secuencia de comandos como una aplicación agente que puede añadir a sus elementos de inicio de sesión en Preferencias del Sistema → Usuarios Y Grupos → Elementos de inicio de Sesión.

Básicamente, esta aplicación funciona mediante la detección de si un único ejecutable relacionados con el uso de la cámara es la que se accede. Cada vez que el ejecutable se accede, la aplicación le notificará acerca de ello a Gruñir:

enter image description here

Descargar

Es importante saber que esta secuencia de comandos de los monitores de acceso al archivo ejecutable...

/System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/VDC.plugin/Contents/MacOS/VDC

Completo script

-- check if growl is running in order to avoid the "Choose Application" dialog
tell application "System Events"
    set isRunning to (count of (every process whose bundle identifier is "com.Growl.GrowlHelperApp")) > 0
end tell

-- store time of last iSight access
global lastopened
set lastopened to do shell script "ls -lu /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/VDC.plugin/Contents/MacOS/VDC | awk '{print $6,$7,$8}'"

-- make the application ready for use with growl
if isRunning then
    tell application id "com.Growl.GrowlHelperApp"

        -- make a list of all the notification types that this script will ever send
        set the allNotificationsList to ¬
            {"iSight access monitor"}

        -- register the script with growl
        register as application ¬
            "iSight access monitor" all notifications allNotificationsList ¬
            default notifications allNotificationsList ¬
            icon of application "FaceTime"

        -- send the first notification right after the application is started
        notify with name ¬
            "iSight access monitor" title ¬
            "iSight access monitor" description ¬
            "last iSight access: 
" & lastopened application name "iSight access monitor"
    end tell
end if

-- monitoring routine: checks every 10s if the VDC executable has been accessed
on idle
    tell application id "com.Growl.GrowlHelperApp"
        set newopen to do shell script "ls -lu /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/VDC.plugin/Contents/MacOS/VDC | awk '{print $6,$7,$8}'"
        if (newopen is not equal to lastopened) then
            notify with name ¬
                "iSight access monitor" title ¬
                "iSight access monitor" description ¬
                "new iSight access: 
" & newopen application name "iSight access monitor"
            set lastopened to newopen
        end if
    end tell
    return 10 -- interval in seconds
end idle

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