camera.listFiles

Listet alle Bilder/alle Videos/alle Bilder und Videos auf der Kamera auf. Es können mehrere Anfragen erforderlich sein, um alle Dateien aufzulisten. Dieser Befehl wurde in API-Level 2 hinzugefügt.

Wenn eine Kamera die angeforderten Parameter nicht unterstützt, muss sie die maximal für die Hardware verfügbare Funktion zurückgeben. Ein seltener Fall könnte beispielsweise die Anfrage sein: {entryCount: 500, maxSize: 2000}. Anstatt einen Fehler auszugeben, sollte die Antwort auf der maximalen von der Kamera unterstützten Funktion basieren, z. B. {entryCount: 100, maxSize: 200}. In allen anderen Fällen sollten Fehler ausgegeben werden. Wenn die Anfrage beispielsweise {entryCount: 500, maxSize: -500} lautet, sollte der Fehler invalidParameterValue ausgegeben werden, da maxSize negativ ist.

Parameter

  • fileType:Der Typ der aufzulistenden Dateien. Er muss einer der drei sein: "image", "video" oder "all".
  • startPosition (optional): Die Position der ersten Datei, die in der Liste zurückgegeben werden soll. Wenn keine Angabe gemacht wird, ist die Startposition 0, d. h. die erste Datei. Wenn sie größer als die Position der letzten Datei ist, wird anstelle einer Fehlerantwort eine normale Antwort mit leeren Einträgen in Ergebnissen zurückgegeben.
  • entryCount:Gewünschte Anzahl der zurückzugebenden Einträge Wenn die Anzahl der verbleibenden Dateien größer ist als die Anzahl der verbleibenden Dateien, geben Sie anstelle einer Fehlerantwort eine normale Antwort mit den tatsächlichen verbleibenden Dateien zurück.
  • maxThumbSize: Maximale Größe von Miniaturansichten: max(thumbnail_width, thumbnail_height). Der Wert ist auf null gesetzt, wenn der Client Miniaturansichten aus dem Ergebnis ausschließen möchte.

Ergebnisse

  • entries:Eine Liste der Bildeigenschaften. Jeder Eintrag sollte die folgenden Felder enthalten, mit Ausnahme der optionalen Felder „Breitengrad“ und „Längengrad“:
    • name:Name der Datei.
    • fileUrl:Absolute URL der Datei, die zum direkten Download von der Kamera verwendet werden kann.
    • size:Größe der Datei in Byte.
    • dateTimeZone: Datum, Uhrzeit und Zeitzone der Datei im Format YYYY:MM:DD HH:MM:SS+(-)HH:MM. Verwenden Sie das 24-Stunden-Format für die Uhrzeit. Datum und Uhrzeit sind durch ein Leerzeichen getrennt. Die Zeitzone wird von der UTC-Zeit abweichen. Beachten Sie, dass dies das Ende der Aufnahme für Videos darstellt.
    • lat: (optional): Der Breitengrad des Standorts zum Zeitpunkt der Dateiaufnahme.
    • lng: (optional): Längengrad des Ortes zum Zeitpunkt der Dateiaufnahme.
    • width:Breite des Bildes oder der einzelnen Videoframes
    • height:Höhe des Bildes oder der einzelnen Videoframes
    • thumbnail:Base64-codierter String für die Miniaturansicht der Datei (wenn maxThumbSize != null).
    • isProcessed: Ein boolescher Wert, der angibt, ob die Datei verarbeitet (z.B. zusammengefügt) oder nur eine Vorschau ist. Dies sollte standardmäßig "true" sein, sofern delayProcessing nicht auf "true" gesetzt ist. Wenn ein verarbeitetes Bild vorhanden ist, sollte das entsprechende Vorschaubild nicht aufgeführt werden, auch wenn es vorhanden ist. Andernfalls geben Sie das Vorschaubild an.
    • previewUrl:Der Standardwert ist ein leerer String, wenn delayProcessing nicht unterstützt wird oder isProcessed gleich „false“ ist oder wenn das Vorschaubild nie als Zwischenergebnis generiert wurde. Andernfalls ist es die URL des Vorschaubilds, die dem endgültigen Bild entspricht. Damit wird der Zusammenhang zwischen dem Vorschaubild und dem endgültigen Bild hergestellt.
  • totalEntries: Gesamtzahl der Speichereinträge von fileType. Wenn der Dateityp beispielsweise „image“ ist, entspricht es der Gesamtzahl der Bilder im Speicher.

Fehler

  • missingParameter: Es wurde kein erforderlicher Parameter angegeben, z. B. entryCount.
  • invalidParameterName: Der Name des Eingabeparameters wird nicht erkannt.
  • invalidParameterValue:Der Name des Eingabeparameters wird erkannt, aber sein Wert ist ungültig. Beispielsweise ist entryCount negativ oder der Datentyp falsch.

Befehls-E/A

Befehlseingabe
{
    "parameters": {
        "entryCount": 50,
        "maxThumbSize": 100
    }
}
Befehlsausgabe
{
    "results": {
        "entries": [
            {
                "name": "abc",
                "fileUrl": "file URL",
                "size":  file size, # of bytes,
                "dateTimeZone": "2014:12:27 08:00:00+08:00",
                "lat": 50.5324,
                "lng": -120.2332,
                "width": 2000,
                "height": 1000,
                "thumbnail": "ENCODEDSTRING",
                "isProcessed": true,
                "previewUrl": ""
            }
            ...
            {
                ...
            }
        ],
        "totalEntries": 250
    }
}
Befehlsausgabe (Fehler)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter entryCount is negative."
    }
}