hammerspoon2-docs
    Preparing search index...

    Namespace camera

    Module for discovering and interacting with camera devices. This module lets you enumerate cameras, capture still images, and react to device connect/disconnect events in real time. Camera access requires user permission. Call hs.permissions.requestCamera() before using captureImage() or reading isInUse.

    const cameras = hs.camera.all()
    cameras.forEach(cam => {
    console.log(cam.name + " — " + (cam.isInUse ? "in use" : "idle"))
    })
    const cam = hs.camera.findByName("FaceTime HD Camera")
    if (cam) {
    cam.captureImage()
    .then(img => img.saveToFile("/tmp/snapshot.png"))
    .catch(err => console.error("Capture error: " + err))
    }
    hs.camera.on("connected", camera => console.log("Camera connected: " + camera.name))
    hs.camera.on("disconnected", camera => console.log("Camera disconnected: " + camera.name))
    const cam = hs.camera.all()[0]
    cam.on(() => {
    console.log(cam.name + " is now " + (cam.isInUse ? "in use" : "idle"))
    })

    Functions

    all
    findByName
    findByUID
    off
    on
    once