camera.takePicture

Acquisisce un'immagine equirettangolare, salvando le coordinate di latitudine/longitudine in formato EXIF (se la fotocamera dispone di un proprio GPS o del GPS abilitato sui cellulari connessi). Se necessario, chiama camera.setOptions prima di questa chiamata di comando. Questo comando è stato modificato nel livello API 2.

Parametri

  • sessionId: identificatore di sessione univoco ottenuto dal comando camera.startSession . Questo campo è stato ritirato nel livello API 2.

Risultati

  • Livello API 1
    • fileUri: URI dell'immagine acquisita. I produttori decidono se utilizzare URI assoluti o relativi; ad esempio, "http://android.com/robots.txt" è un URI assoluto, mentre "robots.txt" è un URI relativo. I client possono considerare questo come un identificatore opaco.
  • Livello API 2
    • fileUrl: l'URL assoluto dell'immagine acquisita, che può essere utilizzata per il download direttamente dal server HTTP della videocamera. Tieni presente che questo comando non restituisce fileUrl immediatamente, poiché l'acquisizione (inclusa l'unione nella fotocamera) di solito richiede un po' di tempo (varia da secondi a minuti). L'avanzamento del comando si ottiene eseguendo il polling periodico della videocamera utilizzando l'API /osc/commands/status e fileUrl è il risultato restituito al termine del comando. Quando delayProcessing è true, è l'URL assoluto dell'immagine di anteprima, che può essere utilizzato come input in processPicture per elaborare l'immagine. In caso contrario, è l'URL assoluto dell'immagine finale elaborata.

Errori

  • missingParameter: manca il parametro sessionId. Questo codice di errore è stato ritirato nel livello API 2.
  • invalidParameterName: il nome del parametro non è riconosciuto, ad esempio sessionId non è riconosciuto nel livello API 2.
  • invalidParameterValue: il nome del parametro di input è stato riconosciuto, ma il relativo valore non è valido. Ad esempio, sessionId non esiste, non è più attivo o il tipo di dati non è corretto. Questo codice di errore è stato ritirato nel livello API 2.
  • disableCommand: il comando è attualmente disattivato; ad esempio, la fotocamera è in modalità di ripresa video. Questo codice di errore è stato aggiunto al livello API 2.

I/O comando

Input dei comandi (livello API 1)
{
    "parameters": {
        "sessionId": "12ABC3"
    }
}
Output comando (livello API 1)
{
    "results": {
        "fileUri": "file URI"
    }
}
Output comando (errore) (livello API 1)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter sessionId doesn't exist."
    }
}
Input dei comandi (livello API 2)
none
Output comando (livello API 2)
{
    "results": {
        "fileUrl": "Absolute file URL"
    }
}
Output comando (errore) (livello API 2)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}