选项

下表显示了 camera.setOptionscamera.getOptions 可用于设置和获取的所有选项。如果某个选项的支持不受支持或仅包含一个选项,则无法更改该选项。

名称 类型 说明 读写
captureMode 字符串 当前拍摄模式。默认为 image. rw
captureModeSupport 字符串数组 当前可用的拍摄模式列表。API 级别 1 的最低要求为 ["image"],API 级别 2 的最低要求为 ["image", "interval"],其中 "interval" 表示以一定时间间隔捕获一系列图片的模式,另请参阅 captureIntervalcaptureIntervalSupport。API 级别 2 支持另外两种模式("video" and "walkaround"),因此 API 级别 2 设置的完整支持为 ["image", "interval", "video", "walkaround"],其中 "video" 表示依序拍摄视频模式,"walkaround" 表示依次拍摄两张图片的模式,第一个模式是用户正站在相机的相对位置,摄像头正位于相机的相对位置,而摄像头位于相机相对位置。这样一来,相机就可以合并两张图片,从而从最终图片中移除用户。当相机支持 "walkaround" 并设置为当前拍摄模式时,客户端应向相机发送两个 takePicture 命令,其中第一个命令(完成时)的响应表明相机已准备好拍摄第二张图片,而第二个命令应在完成时返回最终图片。

要添加更多尚不支持的拍摄模式,请在供应商专用模式前加上下划线 ( _) 作为前缀。

此选项在 API 级别 2 中进行了修改。

r
captureStatus 字符串 当前拍摄状态。默认值为 "idle"。这对于确定摄像头在首次连接到应用时的状态很有用。如果摄像头正在拍摄视频,它可能需要先停下来,然后再指示它执行其他操作(例如,其他视频拍摄)。

此选项是在 API 级别 2.1 中添加的。

rw
captureStatusSupport 字符串数组 当前可用的拍摄状态列表;如果支持视频拍摄,则默认应为 ["idle", "shooting"]。也可以提供其他雕像,例如"downloading"

此选项是在 API 级别 2.1 中添加的。

r
exposureProgram 数值 当前曝光计划。 rw
exposureProgramSupport 数字数组 当前提供的曝光计划列表;例如:[0, 1, 2, 3, 4]。每个整数均表示不同的曝光程序:
  • 0 = 未定义
  • 1 = 手动
  • 2 = 正常节目
  • 3 = 光圈优先级
  • 4 = 快门优先级
请点击以下链接下载有关 ExposureProgram 的更多详细信息。
r
iso 数值 当前 ISO 速度设置。 rw
isoSupport 数字数组

API 级别 1:当前可用的 ISO 设置列表;例如 [100, 200, 400, 800,1600](当应用处于 auto 模式时)[]

API 级别 2:当前可用的 ISO 设置列表;例如 [0, 100, 200, 400, 800, 1600],其中 0 表示 auto 模式。

此选项在 API 级别 2 中进行了修改。

r
shutterSpeed 数值 当前的快门速度设置。 rw
shutterSpeedSupport 数字数组

API 级别 1:当前可用的快门速度列表;例如,当处于 auto 模式时,显示 [0.067, 0.033, 0.017,0.008][]

API 级别 2:当前可用的快门速度列表;例如 [0, 0.067, 0.033, 0.017, 0.008],其中 0 表示 auto 模式。

此选项在 API 级别 2 中进行了修改。

r
aperture 数值 当前光圈设置,光圈值。 rw
apertureSupport 数字数组

API 级别 1:当前可用的光圈设置列表,以 f/number 表示;例如,当处于 auto 模式时,显示 [1.4, 2, 2.8, 4, 5.6, 8, 11][]

API 级别 2:当前可用的光圈设置列表,以 f/number 表示;例如,[0, 1.4, 2, 2.8, 4, 5.6, 8, 11],其中 0 表示 auto 模式。

r
whiteBalance 字符串 当前的白平衡设置,例如 daylight。默认值为 auto rw
whiteBalanceSupport 字符串数组 当前可用的白平衡设置列表,可以是预定义列表的子集:[ "auto", "incandescent", "fluorescent", "daylight", "cloudy-daylight", "shade", "twilight"]。每个变量的值:
  • incandescent,约 320 万
  • fluorescent,约 400 万
  • datalight,约 520 万
  • cloudy-daylight,约 600 万
  • shade,约 700 万
  • twilight,约 1200 万
供应商专用设置名称的前面带有下划线;例如:_vendor-setting
r
exposureCompensation 数值 当前曝光补偿。 rw
exposureCompensationSupport 数字数组 当前可用的曝光补偿列表,通常在第 0.33 步或 0.5 步中;例如:[-1, -0.67, -0.33, 0, 0.33, 0.67, 1] r
fileFormat 对象

当前文件类型和分辨率。该格式应反映 captureMode 的当前值。例如,如果 captureModeimage,则合适的响应可能是:

{
    "type": "jpeg",
    "width": 2000,
    "height": 1000
}
如果 captureModevideo,则相应的响应可能是:
{
    "type": "mp4",
    "width": 1920,
    "height": 1080,
    "framerate": 30
}

此选项在 API 级别 2 中进行了修改。

rw
fileFormatSupport 对象数组

当前可用的文件格式列表;例如:

[
    {
    "type": "jpeg",
    "width": 2000,
    "height": 1000
    },
    {
    "type": "jpeg",
    "width": 200,
    "height": 100
    },
    {
    "type": "mp4",
    "width": 1920,
    "height": 1080,
    "framerate": 24
    },
    {
    "type": "mp4",
    "width": 1280,
    "height": 720,
    "framerate": 30
    },
    ...
]
请点击以下链接详细了解所有类型

此选项在 API 级别 2 中进行了修改。

r
exposureDelay 数值 takePicture 命令与曝光开始之间的当前延迟(以秒为单位)。 rw
exposureDelaySupport 数字数组 当前可用的曝光延迟时间列表(以秒为单位);例如:[0, 1, 2, 5, 10, 30, 60] r
sleepDelay 数值 相机进入休眠状态之前的延迟时间(以秒为单位)。 rw
sleepDelaySupport 数字数组 当前可用的睡眠延迟时间列表(以秒为单位);例如 [30, 60, 120, 300, 600, 1800, 65535],其中 65535 会停用睡眠模式(相机在关机之前不会休眠),且必须支持。 r
offDelay 数值 摄像头关机前的当前延迟时间(以秒为单位)。 rw
offDelaySupport 数字数组 当前可用的电源延迟时间列表(以秒为单位);例如 [1800, 3600, 7200, 65535],其中 65535 停用电源关闭模式(在电池电量耗尽或手动关闭之前,相机不会关机),且必须支持该模式。 r
totalSpace 数值 只读:总存储空间的字节数。 r
remainingSpace 数值 只读:可用字节数。 r
remainingPictures 数值 只读:根据当前拍摄设置估算的剩余照片数量。 r
gpsInfo 对象

当前的 GPS 信息。使用手机 GPS 设置 setOptions

{
    "lat": 23.532,
    "lng": -132.35
}
latlng 属性是小数度数,其中 lat 介于范围 [-90, 90] 中,lng 介于范围 [-180, 180] 中。请注意,如果由手机提供,则每个 GPS 位置信息仅在手机下次更新前有效。手机必须确定何时更新 GPS 位置;例如,在每个 takePicture 命令前面。65535 可告知相机当前的 GPS 位置无效,相机应将其忽略并使用自己的 GPS(例如,存在 GPS 错误);例如,setOptions({"gpsInfo": {"lat": 65535, "lng": 65535}}) 表示 GPS 位置无效。
rw
dateTimeZone 字符串 当前日期和时间信息。由 setOptions 使用手机的日期、时间和时区设置。格式为 YYYY:MM:DD HH:MM:SS+(-)HH:MM。时间采用 24 小时制,日期和时间通过空格分隔,时区与 UTC 的时差;例如,2014:05:18 01:04:29+8:00 是中国时区 (UTC+8:00) rw
hdr

API 级别 1:布尔值

API 级别 2:字符串

API 级别 1:启用/停用 HDR 拍摄模式。值为 true 表示启用 HDR,值为 false 表示停用 HDR。默认值为 false。仅当 hdrSupport 也为 true 时,设置才能为 true

API 级别 2:字符串类型的当前 HDR 模式。

此选项在 API 级别 2 中进行了修改。

rw
hdrSupport

API 级别 1:布尔值

API 级别 2:字符串数组

API 级别 1:值为 true 表示相机支持 HDR。false 设置用于标识未使用 HDR 的摄像头。

API 级别 2:如果您不支持 HDR 模式,则它是 [“off”];如果您支持一个 HDR 模式,则它是 [“off”, “hdr”];如果支持多个 HDR 模式(基于不同的算法),则它是 [“off”, “hdr”, “hdr1”, “hdr2”, ...]

此选项在 API 级别 2 中进行了修改。

r
exposureBracket 对象 当前曝光范围设置。仅当 hdrSupport == true(API 级别 1)hdrSupport 至少包含一个 HDR 模式(API 级别 2)时才可用。如果相机使用手动包围曝光,则该对象包含两个条目:
  1. shots 是一个整数,包含要拍摄的照片数量。
  2. increment:一个数字,表示镜头之间的 EV 增量。
例如:
{
    "shots": 3,
    "increment": 1.33
}
如果相机使用自动包围曝光,则对象包含:
{
    "autoMode": true
}

API 级别 1:在 hdrSupport == false 时默认为空 {}。当 hdrtrue 时,制造商会决定默认值(例如,自动曝光)。

API 级别 2:当 hdrSupport 仅包含 "off" 时,默认值为空 {}。否则,制造商会决定默认值(例如自动曝光)。

此选项在 API 级别 2 中进行了修改。

rw
exposureBracketSupport 对象

当前可以使用曝光范围设置;例如:

{
    "autoMode": true,
    "shotsSupport": [1, 3, 5, 7],
    "incrementSupport": [0.33, 0.67, 1, 1.33, 1.67, 2]
}

API 级别 1:如果 hdrSupport == false,则默认为空 {}。如果为 hdrSupport == true,但不支持自动曝光包围,则 autoMode 将为 false

API 级别 2:如果 hdrSupport 仅包含 "off",则默认为空 {}。如果 hdrSupport 包含任何 HDR 模式,但不支持自动曝光包围,则 autoMode 将为 false

此选项在 API 级别 2 中进行了修改。

r
gyro 布尔值 设置为 true 可启用相机的陀螺仪模块,或设置为 false 可停用此功能。如果相机支持,则默认为 true,否则默认为 false。仅当 gyroSupport == true 时,此设置才能为 true rw
gyroSupport 布尔值 如果相机有陀螺仪,此值应为 true,否则为 false r
gps 布尔值 启用/停用相机 GPS 模块。值必须为 true 以启用,或 false 以停用。如果相机支持,则默认值为 true;否则为 false。仅当 gpsSupport == true 时,设置才会为 true rw
gpsSupport 布尔值 如果相机有自己的 GPS 模块,则此值应为 true,否则为 false r
imageStabilization 字符串 当前的图片防抖操作;例如 off rw
imageStabilizationSupport 字符串数组 目前提供图片防抖选项。预定义列表为 ["off", "on"]。如果相机不支持图片防抖功能,则返回 ["off"],否则返回 ["off", "on"]。使用下划线 ( _ ) 作为供应商专用字符串的前缀;例如 [ "off", "_horizontal_stabilization", "_vibration_correction" ] r
wifiPassword 字符串
至少 8 个字符(包含字母、数字、符号,但不得包含空格)。只有在相机连接到客户端设备的情况下,才能更改该设置。更换后,摄像头必须断开连接,因此用户必须使用新的 wifiPassword 重新连接。
如果忘记密码,相机必须提供重置机制;例如,用于恢复出厂默认密码的重置按钮。
w
previewFormat 对象

当前的实时预览分辨率;例如:

{
    "width": 640,
    "height": 320,
    "framerate": 24
}

此选项是在 API 级别 2 中添加的。

rw
previewFormatSupport 对象数组

目前支持的实时预览格式;例如:

[
    {
    "width": 640,
    "height": 320,
    "framerate": 24
    },
    ...
    {
    "width": 1280,
    "height": 720,
    "framerate": 24
    }
]

此选项是在 API 级别 2 中添加的。

r
captureInterval 数值 拍摄两个连续图像之间的当前时间间隔,采用 seconds 格式。

此选项是在 API 级别 2 中添加的。

rw
captureIntervalSupport 对象

允许连续拍摄两个连续图片之间的最短和最长间隔(以秒为单位);例如:

{
    "minInterval": 10,
    "maxInterval": 60
}
可能会因 fileFormat 而异。

此选项是在 API 级别 2 中添加的。

r
captureNumber 数值 一次固定拍摄会话要拍摄的图片数量。默认为 0,表示拍摄需要通过 stopCapture 命令明确终止;否则,拍摄指定数量的图像后会自动停止。当相机没电或故意关闭时,拍摄也可能会中断。

此选项是在 API 级别 2 中添加的。

rw
captureNumberSupport 对象

在固定间隔拍摄期间可以拍摄的最小和最大图像数;例如:

{
    "minNumber": 2,
    "maxNumber": 50
}
实际存储空间可能会有所不同,具体取决于剩余存储空间。

此选项是在 API 级别 2 中添加的。

r
remainingVideoSeconds 数值 根据当前拍摄设置估算的剩余视频数量。seconds

此选项是在 API 级别 2 中添加的。

r
pollingDelay 数值 两个连续的状态轮询请求之间的最小时间间隔(以秒为单位)。客户端应使用此字段来引导其状态轮询行为;例如,在拼接图像时,客户端可能需要定期轮询摄像头,看看图像是否已完成拼接。不同的相机支持不同的功能;例如,某些相机可以每秒处理一次状态轮询,而其他相机则支持更长的间隔时间。

此选项是在 API 级别 2 中添加的。

r
delayProcessing 布尔值 在处理(例如拼接)时,True 的优先级低于拍摄优先级;换句话说,在拍摄上一次拍摄的图片完成之前,允许再次拍摄。我们强烈建议这样做,尤其是对于需要长时间处理的相机。

此选项是在 API 级别 2 中添加的。

rw
delayProcessingSupport 布尔值数组

[true] 表示处理(例如拼接)的优先级低于捕获优先级,并且默认始终会延迟。

[false] 表示在捕获后立即进行处理。

[true, false] 表示在这两种模式之间进行选择。

此选项是在 API 级别 2 中添加的。

r
clientVersion 数值

客户端决定使用的 API 级别。如果相机支持 API 级别 1 和 2,则默认值为 1;这样一来,为 API 级别 1 编写的客户端仍可在相机上使用,无需进行任何更改;如果相机仅支持 API 级别 2,则默认为 2,在客户端迁移到 API 级别 2 之前,不建议这样做。如果相机仅支持 API 级别 2,尝试将其设为 1 的请求应该会失败。如果 clientVersion 成功设为 2,并且请求了 API 级别 1 中已弃用的命令,则请求应失败,并显示错误代码 unknownCommand

此选项是在 API 级别 2 中添加的。

rw
photoStitchingSupport 字符串数组

照片的拼接选项列表。如果始终在相机上拼接照片,则返回 [ondevice];如果相机无法拼接照片,则返回 [none];如果拼接操作可由用户配置,则返回 [none,ondevice]。在供应商专用设置名称的前面加上下划线,例如 _vendor-setting

此选项是在 API 级别 2.1 中添加的。

r
photoStitching 字符串

照片的当前拼接选项,例如 ondevice。如果受支持,则默认为 ondevice

此选项是在 API 级别 2.1 中添加的。

rw
videoStitchingSupport 字符串数组

视频的拼接选项列表。如果视频始终在相机上拼接,则返回 [ondevice];如果相机无法拼接视频,则返回 [none];如果拼接用户可配置,则返回 [none,ondevice]。在供应商专用设置名称的前面加上下划线,例如 _vendor-setting

此选项是在 API 级别 2.1 中添加的。

r
videoStitching 字符串

视频的当前拼接选项,例如 ondevice。如果受支持,则默认为 ondevice

此选项是在 API 级别 2.1 中添加的。

rw
videoGPSSupport 字符串数组

视频拍摄期间的 GPS 选项列表。如果相机可以在视频拍摄过程中持续捕捉 GPS 并在视频中嵌入位置,则返回 [continuous]。如果无法实现,则返回 [none];如果视频 GPS 支持可由用户配置,则返回 [none,continuous]。在供应商专用设置名称的前面加上下划线,例如 _vendor-setting

此选项是在 API 级别 2.1 中添加的。

r
videoGPS 字符串

视频拍摄期间支持 GPS 的当前选项,例如 continuous。如果受支持,则默认为 continuous

此选项是在 API 级别 2.1 中添加的。

rw
_vendorSpecific [类型](选填) 供应商专用的其他摄像头选项。供应商专用字符串前面带有下划线 ( _)。