• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Interface (AutoDeviceSwitch)
2<!--Kit: Camera Kit-->
3<!--Subsystem: Multimedia-->
4<!--Owner: @qano-->
5<!--Designer: @leo_ysl-->
6<!--Tester: @xchaosioda-->
7<!--Adviser: @zengyawen-->
8
9> **说明:**
10>
11> - 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
12> - 本Interface首批接口从API version 13开始支持。
13
14AutoDeviceSwitch 继承自 [AutoDeviceSwitchQuery](arkts-apis-camera-AutoDeviceSwitchQuery.md)。
15
16自动切换镜头类,继承自[AutoDeviceSwitchQuery](arkts-apis-camera-AutoDeviceSwitchQuery.md),用于使能或去使能自动切换镜头。
17
18使用建议:自动切换镜头功能由系统自动完成输入设备切换、会话配置和参数接续,
19如系统发现镜头切换时,两颗镜头的变焦范围不一致,则会通过[AutoDeviceSwitchStatus](arkts-apis-camera-i.md#autodeviceswitchstatus13)中的isDeviceCapabilityChanged字段告知应用,
20但仍需要应用自己处理UX的变更(如变焦范围的调整,需要重新通过[getZoomRatioRange](arkts-apis-camera-ZoomQuery.md#getzoomratiorange11)接口获取数据并更新UX),
21因此更适用于极简UX交换的场景。
22
23## 导入模块
24
25```ts
26import { camera } from '@kit.CameraKit';
27```
28
29## enableAutoDeviceSwitch<sup>13+</sup>
30
31enableAutoDeviceSwitch(enabled: boolean): void
32
33使能或去使能自动切换镜头。可以先通过[isAutoDeviceSwitchSupported](arkts-apis-camera-AutoDeviceSwitchQuery.md#isautodeviceswitchsupported13)获取当前设备是否支持自动切换镜头。
34
35> **说明:**
36> 该接口仅用于有多个前置镜头的折叠设备,在不同的折叠状态下可自动切换到当前可使用的前置镜头。无法实现前后置镜头的切换。
37
38**原子化服务API:** 从API version 19开始,该接口支持在原子化服务中使用。
39
40**系统能力:** SystemCapability.Multimedia.Camera.Core
41
42**参数:**
43
44| 参数名         | 类型  | 必填 | 说明  |
45| ----------- |---------------------- |---| -------------------------- |
46| enabled | boolean  | 是 | 使能或去使能自动切换镜头。true表示使能,false表示不使能。   |
47
48**错误码:**
49
50以下错误码的详细介绍请参见[Camera错误码](errorcode-camera.md)。
51
52| 错误码ID   | 错误信息                                                                                                                                       |
53|---------|------------------------------------------------------------------------------------------------------------------------------------------------|
54| 7400101 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameters verification failed. |
55| 7400102 | Operation not allowed.                                                                                                                         |
56| 7400103 | Session not config.                                                                                                                            |
57| 7400201 | Camera service fatal error.                                                                                                                    |
58
59**示例:**
60
61```ts
62import { BusinessError } from '@kit.BasicServicesKit';
63
64function enableAutoDeviceSwitch(session: camera.PhotoSession, isEnable: boolean): void {
65  try {
66    session.enableAutoDeviceSwitch(isEnable);
67  } catch (error) {
68    let err = error as BusinessError;
69    console.error(`The enableAutoDeviceSwitch call failed, error code: ${err.code}`);
70  }
71}
72```
73