1# ICameraDevice
2
3
4## 概述
5
6定义Camera设备基本的操作。
7
8设置流回调接口、更新控制参数、执行metadata相关操作。
9
10**起始版本:** 3.2
11
12**相关模块:**[Camera](_camera_v10.md)
13
14
15## 汇总
16
17
18### Public 成员函数
19
20| 名称 | 描述 |
21| -------- | -------- |
22| [GetStreamOperator](#getstreamoperator) ([in] [IStreamOperatorCallback](interface_i_stream_operator_callback_v10.md) callbackObj, [out] [IStreamOperator](interface_i_stream_operator_v10.md) streamOperator) | 获取流操作句柄。 |
23| [UpdateSettings](#updatesettings) ([in] unsigned char[] settings) | 更新设备控制参数。 |
24| [SetResultMode](#setresultmode) ([in] enum [ResultCallbackMode](_camera_v10.md#resultcallbackmode) mode) | 设置metadata上报模式,逐帧上报还是设备状态变化时上报。 |
25| [GetEnabledResults](#getenabledresults) ([out] int[] results) | 查询使能的metadata。 |
26| [EnableResult](#enableresult) ([in] int[] results) | 打开metadata上报开关。 |
27| [DisableResult](#disableresult) ([in] int[] results) | 关闭metadata上报开关。 |
28| [Close](#close) () | 关闭当前Camera设备。 |
29
30
31## 成员函数说明
32
33
34### Close()
35
36```
37ICameraDevice::Close ()
38```
39
40**描述**
41
42关闭当前Camera设备。
43
44**起始版本:** 3.2
45
46**参见:**
47
48OpenCamera
49
50
51### DisableResult()
52
53```
54ICameraDevice::DisableResult ([in] int[] results)
55```
56
57**描述**
58
59关闭metadata上报开关。
60
61屏蔽之后,相应的**OnResult**不再上报,需[EnableResult](#enableresult)使能之后才上报。
62
63**起始版本:** 3.2
64
65**参数:**
66
67| 名称 | 描述 |
68| -------- | -------- |
69| results | 需要关闭上报开关的metadata。 |
70
71**返回:**
72
73NO_ERROR 表示执行成功。
74
75其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v10.md#camretcode)。
76
77**参见:**
78
79[EnableResult](#enableresult)
80
81
82### EnableResult()
83
84```
85ICameraDevice::EnableResult ([in] int[] results)
86```
87
88**描述**
89
90打开metadata上报开关。
91
92**OnResult**只上报此接口使能后的metadata。
93
94**起始版本:** 3.2
95
96**参数:**
97
98| 名称 | 描述 |
99| -------- | -------- |
100| results | 需要打开上报开关的多个metadata。 |
101
102**返回:**
103
104NO_ERROR 表示执行成功。
105
106其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v10.md#camretcode)。
107
108**参见:**
109
110[DisableResult](#disableresult)
111
112
113### GetEnabledResults()
114
115```
116ICameraDevice::GetEnabledResults ([out] int[] results)
117```
118
119**描述**
120
121查询使能的metadata。
122
123[EnableResult](#enableresult)使能需要上报的metadata之后,可通过此接口查询使能的metadata。
124
125**起始版本:** 3.2
126
127**参数:**
128
129| 名称 | 描述 |
130| -------- | -------- |
131| results | 所有使能的metadata的ID数组。 |
132
133**返回:**
134
135NO_ERROR 表示执行成功。
136
137其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v10.md#camretcode)。
138
139
140### GetStreamOperator()
141
142```
143ICameraDevice::GetStreamOperator ([in] IStreamOperatorCallback callbackObj, [out] IStreamOperator streamOperator )
144```
145
146**描述**
147
148获取流操作句柄。
149
150**起始版本:** 3.2
151
152**参数:**
153
154| 名称 | 描述 |
155| -------- | -------- |
156| callbackObj | 设置流回调接口,详细可查看[IStreamOperatorCallback](interface_i_stream_operator_callback_v10.md), 用于上报捕获开始[OnCaptureStarted](interface_i_stream_operator_callback_v10.md#oncapturestarted),捕获结束[OnCaptureEnded](interface_i_stream_operator_callback_v10.md#oncaptureended), 捕获错误等信息[OnCaptureError](interface_i_stream_operator_callback_v10.md#oncaptureerror)。 |
157| streamOperator | 返回流操作句柄。 |
158
159**返回:**
160
161NO_ERROR 表示执行成功。
162
163其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v10.md#camretcode)。
164
165
166### SetResultMode()
167
168```
169ICameraDevice::SetResultMode ([in] enum ResultCallbackMode mode)
170```
171
172**描述**
173
174设置metadata上报模式,逐帧上报还是设备状态变化时上报。
175
176**起始版本:** 3.2
177
178**参数:**
179
180| 名称 | 描述 |
181| -------- | -------- |
182| mode | metadata的上报模式,逐帧上报或者设备状态变化时上报,查看[ResultCallbackMode](_camera_v10.md#resultcallbackmode)。 |
183
184**返回:**
185
186NO_ERROR 表示执行成功。
187
188其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v10.md#camretcode)。
189
190
191### UpdateSettings()
192
193```
194ICameraDevice::UpdateSettings ([in] unsigned char[] settings)
195```
196
197**描述**
198
199更新设备控制参数。
200
201**起始版本:** 3.2
202
203**参数:**
204
205| 名称 | 描述 |
206| -------- | -------- |
207| settings | Camera设置参数,包括sensor帧率,3A相关参数等。 |
208
209**返回:**
210
211NO_ERROR 表示执行成功。
212
213其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v10.md#camretcode)。
214