• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Interface (Stabilization)
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 11开始支持。
13
14Stabilization 继承自 [StabilizationQuery](arkts-apis-camera-StabilizationQuery.md)。
15
16提供设备在录像模式下设置视频防抖的操作。
17
18 > **说明:**
19 >
20 > 需要会话中有录像流([VideoOutput](arkts-apis-camera-VideoOutput.md))的前提下,才可以对视频进行防抖设置,
21 > 其中[VideoStabilizationMode](arkts-apis-camera-e.md#videostabilizationmode)中的枚举HIGH需要在[Profile](arkts-apis-camera-i.md#profile)的分辨率为1920*1080的场景下生效。
22
23## 导入模块
24
25```ts
26import { camera } from '@kit.CameraKit';
27```
28
29## getActiveVideoStabilizationMode<sup>11+</sup>
30
31getActiveVideoStabilizationMode(): VideoStabilizationMode
32
33查询当前正在使用的视频防抖模式。
34
35**原子化服务API:** 从API version 19开始,该接口支持在原子化服务中使用。
36
37**系统能力:** SystemCapability.Multimedia.Camera.Core
38
39**返回值:**
40
41| 类型        | 说明          |
42| ---------- |-------------|
43| [VideoStabilizationMode](arkts-apis-camera-e.md#videostabilizationmode)    | 视频防抖是否正在使用。 |
44
45**错误码:**
46
47以下错误码的详细介绍请参见[Camera错误码](errorcode-camera.md)。
48
49| 错误码ID         | 错误信息        |
50| --------------- | --------------- |
51| 7400103                |  Session not config.                                   |
52
53**示例:**
54
55```ts
56import { BusinessError } from '@kit.BasicServicesKit';
57
58function getActiveVideoStabilizationMode(videoSession: camera.VideoSession): camera.VideoStabilizationMode | undefined {
59  let vsMode: camera.VideoStabilizationMode | undefined = undefined;
60  try {
61    vsMode = videoSession.getActiveVideoStabilizationMode();
62  } catch (error) {
63    // 失败返回错误码error.code并处理。
64    let err = error as BusinessError;
65    console.error(`The getActiveVideoStabilizationMode call failed. error code: ${err.code}`);
66  }
67  return vsMode;
68}
69```
70
71## setVideoStabilizationMode<sup>11+</sup>
72
73setVideoStabilizationMode(mode: VideoStabilizationMode): void
74
75设置视频防抖模式。需要先检查设备是否支持对应的防抖模式,可以通过[isVideoStabilizationModeSupported](arkts-apis-camera-StabilizationQuery.md#isvideostabilizationmodesupported11)方法判断所设置的模式是否支持。
76
77**原子化服务API:** 从API version 19开始,该接口支持在原子化服务中使用。
78
79**系统能力:** SystemCapability.Multimedia.Camera.Core
80
81**参数:**
82
83| 参数名      | 类型                                              | 必填 | 说明                    |
84| -------- | ------------------------------------------------- | ---- | --------------------- |
85| mode     | [VideoStabilizationMode](arkts-apis-camera-e.md#videostabilizationmode) | 是   | 需要设置的视频防抖模式。   |
86
87**错误码:**
88
89以下错误码的详细介绍请参见[Camera错误码](errorcode-camera.md)。
90
91| 错误码ID         | 错误信息        |
92| --------------- | --------------- |
93| 7400103                |  Session not config.                                   |
94
95**示例:**
96
97```ts
98import { BusinessError } from '@kit.BasicServicesKit';
99
100function setVideoStabilizationMode(videoSession: camera.VideoSession): void {
101  try {
102    videoSession.setVideoStabilizationMode(camera.VideoStabilizationMode.OFF);
103  } catch (error) {
104    // 失败返回错误码error.code并处理。
105    let err = error as BusinessError;
106    console.error(`The setVideoStabilizationMode call failed. error code: ${err.code}`);
107  }
108}
109```
110