camera.takePicture

Erfasst ein äquirektanguläres Bild und speichert die Breiten- und Längengrade in der EXIF-Datei (wenn deine Kamera über ein eigenes GPS oder GPS auf verbundenen Smartphones aktiviert ist). Rufen Sie bei Bedarf vor diesem Befehlsaufruf camera.setOptions auf. Dieser Befehl wurde in API-Level 2 geändert.

Parameter

  • sessionId: Eindeutige Sitzungs-ID, die über den Befehl camera.startSession abgerufen wurde. Dieses Feld wurde in API-Level 2 eingestellt.

Ergebnisse

  • API-Level 1
    • fileUri:URI des erfassten Bilds. Hersteller entscheiden, ob absolute oder relative URIs verwendet werden. So ist zum Beispiel http://android.com/robots.txt ein absoluter URI und "robots.txt" ein relativer URI. Clients können dies als intransparente Kennung behandeln.
  • API-Level 2
    • fileUrl:Absolute URL des aufgenommenen Bilds, das direkt vom HTTP-Server der Kamera heruntergeladen werden kann. Beachten Sie, dass dieser Befehl nicht sofort fileUrl zurückgibt, da die Aufnahme (einschließlich Stitching in der Kamera) in der Regel eine Weile dauert (variiert von Sekunden bis Minuten). Der Fortschritt des Befehls wird durch regelmäßige Abfragen der Kamera über die /osc/commands/status API abgerufen. fileUrl ist das Ergebnis, das bei Abschluss des Befehls zurückgegeben wird. Wenn delayProcessing auf „true“ gesetzt ist, ist dies die absolute URL des Vorschaubilds, die als Eingabe in processPicture verwendet werden kann, um das Bild zu verarbeiten. Andernfalls ist es die absolute URL des endgültig verarbeiteten Bilds.

Fehler

  • missingParameter: sessionId fehlt. Dieser Fehlercode wurde in API-Level 2 verworfen.
  • invalidParameterName:Der Parametername wurde nicht erkannt, d.h., sessionId wird in API-Ebene 2 nicht erkannt.
  • invalidParameterValue: Der Name des Eingabeparameters wird erkannt, aber sein Wert ist ungültig. Beispiel: sessionId existiert nicht, ist nicht mehr aktiv oder sein Datentyp ist falsch. Dieser Fehlercode wurde in API-Level 2 verworfen.
  • disabledCommand: Der Befehl ist derzeit deaktiviert, zum Beispiel, wenn sich die Kamera im Videoaufnahmemodus befindet. Dieser Fehlercode wurde in API-Level 2 hinzugefügt.

Befehls-E/A

Befehlseingabe (API-Level 1)
{
    "parameters": {
        "sessionId": "12ABC3"
    }
}
Befehlsausgabe (API-Level 1)
{
    "results": {
        "fileUri": "file URI"
    }
}
Befehlsausgabe (Fehler) (API-Ebene 1)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter sessionId doesn't exist."
    }
}
Befehlseingabe (API-Level 2)
none
Befehlsausgabe (API-Level 2)
{
    "results": {
        "fileUrl": "Absolute file URL"
    }
}
Befehlsausgabe (Fehler) (API-Ebene 2)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}