camera.startCapture

Démarre la capture vidéo ou la capture d'image par intervalles en fonction de la valeur de captureMode dans Options. Cette commande a été ajoutée au niveau d'API 2.

Paramètres

  • Le corps de la requête ne comporte aucun paramètre. L'option captureMode détermine s'il s'agit d'une capture d'image par intervalles ou d'une capture vidéo. Pour la capture par intervalles, qu'il s'agisse ou non d'une capture ouverte, selon que captureNumber est égal ou supérieur à 0. captureMode, captureInterval et captureNumber doivent être définis avant la capture par intervalles. Seule la valeur captureMode doit être définie sur "video" avant la capture vidéo, qui ne peut être arrêtée qu'à l'aide de la commande camera.stopCapture.

Résultats

  • Capture ouverte (lorsque captureMode == "video" ou captureNumber == 0)
    • Aucun résultat.
  • Capture par intervalles non ouverte :
    • fileUrls:liste d'URL absolues pointant vers des fichiers image pour la capture par intervalles. Notez que cette commande ne renvoie pas immédiatement fileUrls, car la capture prend captureNumber. Vous pouvez obtenir la progression de la commande en interrogeant régulièrement la caméra. Par exemple, effectuez un sondage après une durée estimée (time = captureInterval * (captureNumber - 1)) à l'aide de l'API /osc/commands/status, et fileUrls est le résultat renvoyé à la fin de la commande. Si la commande ne se termine pas correctement (par exemple, si seulement trois images ont été prises avant que la caméra ne soit à court de batterie) ou si l'appareil photo est déconnecté du téléphone client au milieu, mais qu'elle aboutit, le client doit pouvoir obtenir les images à l'aide de camera.listFiles plus tard lorsqu'une nouvelle connexion est établie entre le client et la caméra.

Erreurs

  • disabledCommand:la commande est actuellement désactivée. Par exemple, la caméra est en cours d'enregistrement vidéo ou d'une capture par intervalles.
  • invalidParameterName:nom du paramètre non reconnu. Par exemple, sessionId n'est pas reconnu.

E/S des commandes

Entrée de commande
none
Résultat de la commande
{
    "results": {
        "fileUrls":[
            "url1",
            "url2",
            "url3",
            ...
            "urln"
        ]
    }
}
Résultat de la commande (erreur)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}