camera.listFiles

Enumera todas las imágenes, todos los videos, las imágenes y los videos de la cámara. Puede tardar varias solicitudes para enumerar todos los archivos. Este comando se agregó en el nivel de API 2.

Si una cámara no admite los parámetros solicitados, esta debe mostrar el máxima disponible para el hardware. Por ejemplo, un caso excepcional podría ser la solicitud: {entryCount: 500, maxSize: 2000}. En lugar de arrojar un error, la respuesta debe basarse en la capacidad máxima que admite la cámara. por ejemplo: {entryCount: 100, maxSize: 200}. Por favor arroja los errores para todas las demás casos; Por ejemplo, cuando la solicitud es {entryCount: 500, maxSize: -500}, debería arrojar el error invalidParameterValue, ya que maxSize es negativo.

Parámetros

  • fileType: El tipo de archivos que se incluirán en la lista; debe ser alguno de las tres: “imagen”, “video” o “todo”.
  • startPosition::Es la posición del primer archivo que se enviará (opcional). se devolverán en la lista. Si se omite, la posición inicial es 0, que representa el primer archivo. Si es mayor que la posición del último archivo, muestra un respuesta normal con entradas vacías en los resultados, en lugar de una respuesta de error.
  • entryCount: Cantidad deseada de entradas para mostrar. Si es más que la cantidad de archivos restantes, devuelve una respuesta normal con los archivos restantes en lugar de una respuesta de error.
  • maxThumbSize: Tamaño máximo de las imágenes en miniatura. max(miniatura_ancho, altura_miniatura) Se establece en null cuando el cliente desea omitir las imágenes en miniatura del resultado.

Resultados

  • entradas: Una lista de propiedades de imagen. Cada entrada debe contener los siguientes campos excepto por la latitud y la longitud, que son opcionales:
    • name: Es el nombre del archivo.
    • fileUrl: Es la URL absoluta del archivo, que se puede usar para descargar directamente desde la cámara.
    • size: El tamaño en bytes del archivo.
    • dateTimeZone: Es la fecha, la hora y la zona horaria del archivo, en el formato: YYYY:MM:DD HH:MM:SS+(-)HH:MM Para la hora, usa el formato de 24 horas. Fecha y hora están separadas por un carácter en blanco. La zona horaria se aleja de la hora UTC. Tengan en cuenta que representa la finalización de la captura de los videos.
    • lat: La latitud de la ubicación en el momento de la captura del archivo (opcional).
    • lng: Es la longitud de la ubicación en el momento de la captura del archivo (opcional).
    • width: El ancho de la imagen o de cada fotograma de video.
    • height: La altura de la imagen o de cada marco de video.
    • miniatura: Es una cadena codificada en base64 para la imagen en miniatura del archivo (cuando es maxThumbSize != null).
    • isProcessed: Un valor booleano que indica si el archivo está procesados (p.ej., unidos) o solo una vista previa. Esto debería ser así predeterminado, a menos que delayProcessing se configure como verdadero. Si existe una imagen procesada, la imagen de vista previa correspondiente no debería aparecer, aunque exista De lo contrario, mostrará la imagen de vista previa.
    • previewUrl: Si es delayProcessing, se establece de forma predeterminada como una string vacía. no es compatible, cuando isProcessed es igual a falso o cuando la imagen de vista previa es nunca se generó como resultado intermedio, de lo contrario, es la URL del la imagen de vista previa correspondiente a la imagen final. Se usa para crear la correspondencia entre la imagen de vista previa y la imagen final.
  • totalEntradas: Número total de entradas de fileType en almacenamiento, p.ej., si fileType es “image”, es el número total de imágenes en y almacenamiento de los datos.

Errores

  • missingParameter: No se especifican los parámetros necesarios. Por ejemplo, no se especifica entryCount.
  • invalidParameterName: El nombre del parámetro de entrada es no reconocidos.
  • invalidParameterValue: Se reconoce el nombre del parámetro de entrada. pero su valor no es válido; Por ejemplo, entryCount es negativo. o que su tipo de datos no sea correcto.

E/S de comando

Entrada de comando
{
    "parameters": {
        "entryCount": 50,
        "maxThumbSize": 100
    }
}
Resultado del comando
{
    "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
    }
}
Resultado del comando (error)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter entryCount is negative."
    }
}