camera.listFiles

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

列出相机中的所有图片/所有视频/所有图片和视频。列出所有文件可能需要几个请求。此命令是在 API 级别 2 中添加的。

如果摄像头不支持请求的参数,摄像头必须返回硬件可用的最大功能。例如,一种可能的情况比较少见:{entryCount: 500, maxSize: 2000}。响应不应基于错误,而应基于相机支持的最大功能,例如:{entryCount: 100, maxSize: 200}。对于所有其他情况,请抛出错误;例如,如果请求为 {entryCount: 500, maxSize: -500},则应抛出错误 invalidParameterValue,因为 maxSize 为负数。

参数

  • fileType:要列出的文件的类型,应为以下三种格式之一:“image”、“video”、“all”。
  • startPosition:(可选)要在列表中返回的第一个文件的位置。如果省略,则起始位置为 0,表示第一个文件。如果响应文件大于最后一个文件的位置,系统会返回包含空条目的正常响应,而不是错误响应。
  • entryCount:要返回的条目数。如果剩余文件数超过剩余文件数,则仅返回正常响应以及实际文件,而不是错误响应。
  • maxThumbSize:缩略图的大小上限;max(thumbnail_width, thumb_height)。当客户端希望从结果中省略缩略图时,它会设置为 null

成效

  • 条目:图片属性的列表。除纬度和经度这两个可选字段外,每个条目都应包含以下字段:
    • name:文件的名称。
    • fileUrl:文件的绝对网址,可用于直接从相机下载。
    • size:文件的大小(以字节为单位)。
    • dateTimeZone:文件的日期、时间和时区,格式为:YYYY:MM:DD HH:MM:SS+(-)HH:MM。时间使用 24 小时制。日期和时间用一个空白字符分隔。时区与世界协调时间 (UTC) 的时差。请注意,这代表视频的拍摄结束。
    • lat:(可选)拍摄文件时营业地点的纬度。
    • lng:(可选)拍摄文件时营业地点的经度。
    • width:图片或每个视频帧的宽度。
    • height:图片或每个视频帧的高度。
    • thumbnail:文件的缩略图的 Base64 编码字符串(当 maxThumbSize != null 时)。
    • isProcessed:布尔值,指示文件是已处理(例如拼接)还是仅为预览。默认情况下,除非 delayProcessing 设置为 true,否则此值应为 true。如果存在已处理的图片,则即使相应的预览图片存在,也不应列出,否则,请列出预览图片。
    • previewUrl:如果 delayProcessing 不受支持或 isProcessed 为 false 或者从未生成中间结果作为预览结果,则默认为空字符串,否则,它是与最终图片对应的预览图片的网址。这用于在预览图像和最终图像之间建立对应关系。
  • totalEntries:存储空间中 fileType 的条目总数(例如,如果 fileType 为“图片”,则表示存储空间中的图片总数)。

错误

  • missingParameter:未指定任何必需参数;例如,未指定 entryCount
  • invalidParameterName:输入参数名称无法识别。
  • invalidParameterValue:输入参数名称已被识别,但其值无效;例如,entryCount 为负数或数据类型不正确。

命令 I/O

命令输入
{
    "parameters": {
        "entryCount": 50,
        "maxThumbSize": 100
    }
}
命令输出
{
    "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
    }
}
命令输出(错误)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter entryCount is negative."
    }
}