camera.listFiles

Muestra una lista de todas las imágenes, los videos, las imágenes y los videos de la cámara. Es posible que se necesiten 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, debe mostrar la capacidad máxima disponible para el hardware. Por ejemplo, un caso poco frecuente podría ser la solicitud: {entryCount: 500, maxSize: 2000}. En lugar de arrojar un error, la respuesta debe basarse en la capacidad máxima admitida por la cámara, por ejemplo: {entryCount: 100, maxSize: 200}. Muestra errores para todos los 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: Tipo de archivos que se enumerarán. Debe ser cualquiera de los tres: “imagen”, “video” o “todos”.
  • startPosition: Es la posición del primer archivo que se mostrará en la lista (opcional). Si se omite, la posición de inicio es 0, que representa el primer archivo. Si es mayor que la posición del último archivo, muestra una respuesta normal con entradas vacías en los resultados en lugar de una respuesta de error.
  • entryCount: Es la cantidad deseada de entradas que se mostrarán. Si es mayor que la cantidad de archivos restantes, muestra una respuesta normal con los archivos restantes, en lugar de una respuesta de error.
  • maxThumbSize: el tamaño máximo de las imágenes en miniatura; max(thumbnail_width, miniaturas_height). Se establece en null cuando el cliente desea omitir las imágenes en miniatura del resultado.

Resultados

  • Entradas: Una lista de propiedades de la imagen. Cada entrada debe contener los siguientes campos, excepto los de latitud y longitud, que son opcionales:
    • name: Es el nombre del archivo.
    • fileUrl: URL absoluta del archivo, que se puede usar para descargar directamente desde la cámara.
    • size: Es 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. Usa el formato de 24 horas para la hora. La fecha y la hora están separadas por un carácter en blanco. La zona horaria se diferencia de la hora UTC. Ten en cuenta que esto representa el final de la captura de videos.
    • lat: (Opcional) Es la latitud de la ubicación en el momento de la captura de archivos.
    • lng: (opcional): Es la longitud de la ubicación al momento de capturar el archivo.
    • width: Es el ancho de la imagen o cada fotograma del video.
    • height: Es la altura de la imagen o cada fotograma de video.
    • thumbnail: Es una string codificada en Base64 para la imagen en miniatura del archivo (cuando maxThumbSize != null).
    • isProcessed: Es un valor booleano que indica si el archivo se procesó (p.ej., unido) o si es solo una vista previa. Esto debería ser verdadero de forma predeterminada, a menos que delayProcessing esté configurado como verdadero. Si existe una imagen procesada, la imagen de vista previa correspondiente no debería mostrarse aunque exista. De lo contrario, enumera la imagen de vista previa.
    • previewUrl: Se establece de forma predeterminada como una string vacía si delayProcessing no es compatible o si isProcessed es igual a falso, o si nunca se generó la imagen de vista previa como un resultado intermedio; de lo contrario, es la URL de la imagen de vista previa correspondiente a la imagen final. Esto se usa para crear la correspondencia entre la imagen de vista previa y la imagen final.
  • totalEntradas: La cantidad total de entradas de fileType en el almacenamiento, p.ej., si fileType es "image", es la cantidad total de imágenes en el almacenamiento.

Errores

  • missingParameter: No se especifica ningún parámetro obligatorio; por ejemplo, no se especifica entryCount.
  • invalidParameterName: No se reconoce el nombre del parámetro de entrada.
  • invalidParameterValue: Se reconoce el nombre del parámetro de entrada, pero su valor no es válido. Por ejemplo, entryCount es negativo o su tipo de datos es incorrecto.

E/S de comando

Entrada del 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."
    }
}