• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# native_avscreen_capture_base.h
2<!--Kit: Media Kit-->
3<!--Subsystem: Multimedia-->
4<!--Owner: @zzs_911-->
5<!--Designer: @stupig001-->
6<!--Tester: @xdlinc-->
7<!--Adviser: @zengyawen-->
8
9## 概述
10
11声明用于运行屏幕录制通用的结构体、字符常量、枚举。
12
13**引用文件:** <multimedia/player_framework/native_avscreen_capture_base.h>
14
15**库:** libnative_avscreen_capture.so
16
17**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
18
19**起始版本:** 10
20
21**相关模块:** [AVScreenCapture](capi-avscreencapture.md)
22
23## 汇总
24
25### 结构体
26
27| 名称 | typedef关键字 | 描述 |
28| -- | -- | -- |
29| [OH_AudioCaptureInfo](capi-avscreencapture-oh-audiocaptureinfo.md) | OH_AudioCaptureInfo | 音频采样信息。<br> 当audioSampleRate和audioChannels同时为0时,忽略该类型音频相关参数,不录制该类型音频数据。 |
30| [OH_AudioEncInfo](capi-avscreencapture-oh-audioencinfo.md) | OH_AudioEncInfo | 音频编码信息。 |
31| [OH_AudioInfo](capi-avscreencapture-oh-audioinfo.md) | OH_AudioInfo | 音频信息。<br> 同时采集音频麦克风和音频内录数据时,两路音频的audioSampleRate和audioChannels采样参数需要相同。 |
32| [OH_VideoCaptureInfo](capi-avscreencapture-oh-videocaptureinfo.md) | OH_VideoCaptureInfo | 视频录制信息。当videoFrameWidth和videoFrameHeight同时为0时,忽略视频相关参数不录制屏幕数据。 |
33| [OH_VideoEncInfo](capi-avscreencapture-oh-videoencinfo.md) | OH_VideoEncInfo | 视频编码参数。 |
34| [OH_VideoInfo](capi-avscreencapture-oh-videoinfo.md) | OH_VideoInfo | 视频信息。 |
35| [OH_RecorderInfo](capi-avscreencapture-oh-recorderinfo.md) | OH_RecorderInfo | 录制文件信息。 |
36| [OH_AVScreenCaptureConfig](capi-avscreencapture-oh-avscreencaptureconfig.md) | OH_AVScreenCaptureConfig | 屏幕录制配置参数。 |
37| [OH_AVScreenCaptureCallback](capi-avscreencapture-oh-avscreencapturecallback.md) | OH_AVScreenCaptureCallback | OH_AVScreenCapture中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVScreenCapture实例中,并处理回调上报的信息,以保证OH_AVScreenCapture的正常运行。<br> 从API 12开始,推荐使用接口[OH_AVScreenCapture_OnError](#oh_avscreencapture_onerror)、[OH_AVScreenCapture_OnBufferAvailable](#oh_avscreencapture_onbufferavailable)替代。 |
38| [OH_Rect](capi-avscreencapture-oh-rect.md) | OH_Rect | 定义录屏界面的宽高以及画面信息。 |
39| [OH_AudioBuffer](capi-avscreencapture-oh-audiobuffer.md) | OH_AudioBuffer | 定义了音频数据的大小、类型、时间戳等配置信息。 |
40| [OH_NativeBuffer](capi-avscreencapture-avscreencapture-oh-nativebuffer.md) | OH_NativeBuffer | 提供录屏的视频原始码流类。 |
41| [OH_AVScreenCapture](capi-avscreencapture-oh-avscreencapture.md) | OH_AVScreenCapture | 通过OH_AVScreenCapture可以获取视频与音频的原始码流。 |
42| [OH_AVScreenCapture_ContentFilter](capi-avscreencapture-oh-avscreencapture-contentfilter.md) | OH_AVScreenCapture_ContentFilter | 通过OH_AVScreenCapture_ContentFilter过滤音视频内容。 |
43| [OH_AVScreenCapture_CaptureStrategy](capi-avscreencapture-oh-avscreencapture-capturestrategy.md) | OH_AVScreenCapture_CaptureStrategy | 通过OH_AVScreenCapture_CaptureStrategy设置录屏策略。 |
44| [OH_AVScreenCapture_UserSelectionInfo](capi-avscreencapture-oh-avscreencapture-userselectioninfo.md) | OH_AVScreenCapture_UserSelectionInfo | 通过OH_AVScreenCapture_UserSelectionInfo获取用户在授权界面(选择界面)选择的参数。 |
45
46### 枚举
47
48| 名称 | typedef关键字 | 描述 |
49| -- | -- | -- |
50| [OH_CaptureMode](#oh_capturemode) | OH_CaptureMode | 枚举,表示屏幕录制的不同模式。 |
51| [OH_AudioCaptureSourceType](#oh_audiocapturesourcetype) | OH_AudioCaptureSourceType | 枚举,表示屏幕录制时的音频源类型。 |
52| [OH_AudioCodecFormat](#oh_audiocodecformat) | OH_AudioCodecFormat | 枚举,表示音频编码格式。 |
53| [OH_VideoCodecFormat](#oh_videocodecformat) | OH_VideoCodecFormat | 枚举,表示视频编码格式。 |
54| [OH_DataType](#oh_datatype) | OH_DataType | 枚举,表示屏幕录制流的数据格式。 |
55| [OH_VideoSourceType](#oh_videosourcetype) | OH_VideoSourceType | 枚举,表示视频源格式。当前仅支持RGBA格式。 |
56| [OH_ContainerFormatType](#oh_containerformattype) | OH_ContainerFormatType | 枚举,表示屏幕录制生成的文件类型。 |
57| [OH_AVScreenCaptureStateCode](#oh_avscreencapturestatecode) | OH_AVScreenCaptureStateCode | 枚举,表示状态码。 |
58| [OH_AVScreenCaptureBufferType](#oh_avscreencapturebuffertype) | OH_AVScreenCaptureBufferType | 枚举,表示buffer类型。 |
59| [OH_AVScreenCaptureFilterableAudioContent](#oh_avscreencapturefilterableaudiocontent) | OH_AVScreenCaptureFilterableAudioContent | 枚举,表示可过滤的音频类型。 |
60| [OH_AVScreenCaptureContentChangedEvent](#oh_avscreencapturecontentchangedevent) | OH_AVScreenCaptureContentChangedEvent | 枚举,表示录屏内容变更事件。 |
61| [OH_AVScreenCapture_FillMode](#oh_avscreencapture_fillmode) | OH_AVScreenCapture_FillMode | 图像填充模式。 |
62
63### 函数
64
65| 名称 | typedef关键字 | 描述 |
66| -- | -- | -- |
67| [typedef void (\*OH_AVScreenCaptureOnError)(OH_AVScreenCapture *capture, int32_t errorCode)](#oh_avscreencaptureonerror) | OH_AVScreenCaptureOnError | 当OH_AVScreenCapture实例运行出错时,将调用函数指针。<br> 从API 12开始,推荐使用接口[OH_AVScreenCapture_OnError](#oh_avscreencapture_onerror)替代。 |
68| [typedef void (\*OH_AVScreenCaptureOnAudioBufferAvailable)(OH_AVScreenCapture *capture, bool isReady, OH_AudioCaptureSourceType type)](#oh_avscreencaptureonaudiobufferavailable) | OH_AVScreenCaptureOnAudioBufferAvailable | 当OH_AVScreenCapture实例操作期间音频缓存区可用时,将调用函数指针。<br> 从API 12开始,推荐使用接口[OH_AVScreenCapture_OnBufferAvailable](#oh_avscreencapture_onbufferavailable)替代。 |
69| [typedef void (\*OH_AVScreenCaptureOnVideoBufferAvailable)(OH_AVScreenCapture *capture, bool isReady)](#oh_avscreencaptureonvideobufferavailable) | OH_AVScreenCaptureOnVideoBufferAvailable | 当OH_AVScreenCapture实例操作期间视频缓存区可用时,将调用函数指针。<br> 从API 12开始,推荐使用接口[OH_AVScreenCapture_OnBufferAvailable](#oh_avscreencapture_onbufferavailable)替代。 |
70| [typedef void (\*OH_AVScreenCapture_OnStateChange)(struct OH_AVScreenCapture *capture, OH_AVScreenCaptureStateCode stateCode, void *userData)](#oh_avscreencapture_onstatechange) | OH_AVScreenCapture_OnStateChange | 当OH_AVScreenCapture实例操作期间发生状态变更时,将调用函数指针。 |
71| [typedef void (\*OH_AVScreenCapture_OnError)(OH_AVScreenCapture *capture, int32_t errorCode, void *userData)](#oh_avscreencapture_onerror) | OH_AVScreenCapture_OnError | 当OH_AVScreenCapture实例操作期间发生错误时,将调用函数指针。 |
72| [typedef void (\*OH_AVScreenCapture_OnBufferAvailable)(OH_AVScreenCapture *capture, OH_AVBuffer *buffer, OH_AVScreenCaptureBufferType bufferType, int64_t timestamp, void *userData)](#oh_avscreencapture_onbufferavailable) | OH_AVScreenCapture_OnBufferAvailable | 当OH_AVScreenCapture实例操作期间音频或视频缓存区可用时,将调用该函数指针。 |
73| [typedef void (\*OH_AVScreenCapture_OnDisplaySelected)(OH_AVScreenCapture *capture, uint64_t displayId, void *userData)](#oh_avscreencapture_ondisplayselected) | OH_AVScreenCapture_OnDisplaySelected | 当录屏事件开始时,将调用函数指针。 |
74| [typedef void (\*OH_AVScreenCapture_OnCaptureContentChanged)(OH_AVScreenCapture* capture, OH_AVScreenCaptureContentChangedEvent event, OH_Rect* area, void *userData)](#oh_avscreencapture_oncapturecontentchanged) | OH_AVScreenCapture_OnCaptureContentChanged | 当OH_AVScreenCapture实例操作期间录屏内容变化时,将调用函数指针。 |
75| [typedef void (\*OH_AVScreenCapture_OnUserSelected)(OH_AVScreenCapture* capture, OH_AVScreenCapture_UserSelectionInfo* selections, void *userData)](#oh_avscreencapture_onuserselected) | OH_AVScreenCapture_OnUserSelected | 当用户在授权界面(选择界面)选择参数时,功能接口将参数返回给应用程序。 |
76
77## 枚举类型说明
78
79### OH_CaptureMode
80
81```
82enum OH_CaptureMode
83```
84
85**描述**
86
87枚举,表示屏幕录制的不同模式。
88
89**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
90
91**起始版本:** 10
92
93| 枚举项 | 描述 |
94| -- | -- |
95| OH_CAPTURE_HOME_SCREEN = 0 | 录制主屏幕。 |
96| OH_CAPTURE_SPECIFIED_SCREEN = 1 | 录制指定屏幕。 |
97| OH_CAPTURE_SPECIFIED_WINDOW = 2 | 录制指定窗口。 |
98| OH_CAPTURE_INVAILD = -1 | 无效模式。 |
99
100### OH_AudioCaptureSourceType
101
102```
103enum OH_AudioCaptureSourceType
104```
105
106**描述**
107
108枚举,表示屏幕录制时的音频源类型。
109
110**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
111
112**起始版本:** 10
113
114| 枚举项 | 描述 |
115| -- | -- |
116| OH_SOURCE_INVALID = -1 | 无效音频源。 |
117| OH_SOURCE_DEFAULT = 0 | 默认音频源,默认为麦克风。 |
118| OH_MIC = 1 | 麦克风录制的外部音频流。 |
119| OH_ALL_PLAYBACK = 2 | 系统播放的所有内部音频流。 |
120| OH_APP_PLAYBACK = 3 | 指定应用播放的内部音频流。 |
121
122### OH_AudioCodecFormat
123
124```
125enum OH_AudioCodecFormat
126```
127
128**描述**
129
130枚举,表示音频编码格式。
131
132**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
133
134**起始版本:** 10
135
136| 枚举项 | 描述 |
137| -- | -- |
138| OH_AUDIO_DEFAULT = 0 | 默认音频编码,默认为AAC_LC。 |
139| OH_AAC_LC = 3 | AAC_LC音频编码。 |
140| OH_AUDIO_CODEC_FORMAT_BUTT | 无效格式。 |
141
142### OH_VideoCodecFormat
143
144```
145enum OH_VideoCodecFormat
146```
147
148**描述**
149
150枚举,表示视频编码格式。
151
152**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
153
154**起始版本:** 10
155
156| 枚举项 | 描述 |
157| -- | -- |
158| OH_VIDEO_DEFAULT = 0 | 默认视频编码,默认为H.264。 |
159| OH_H264 = 2 | H.264。 |
160| OH_H265 = 4 | H.265/HEVC。 |
161| OH_MPEG4 = 6 | MPEG4。 |
162| OH_VP8 = 8 | VP8。 |
163| OH_VP9 = 10 | VP9。 |
164| OH_VIDEO_CODEC_FORMAT_BUTT | 无效格式。 |
165
166### OH_DataType
167
168```
169enum OH_DataType
170```
171
172**描述**
173
174枚举,表示屏幕录制流的数据格式。
175
176**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
177
178**起始版本:** 10
179
180| 枚举项 | 描述 |
181| -- | -- |
182| OH_ORIGINAL_STREAM = 0 | 原始流格式,如YUV/RGBA/PCM等。 |
183| OH_ENCODED_STREAM = 1 | 编码格式,如H264/AAC等。当前版本暂不支持。 |
184| OH_CAPTURE_FILE = 2 | 保存文件格式,支持mp4。 |
185| OH_INVAILD = -1 | 无效格式。 |
186
187### OH_VideoSourceType
188
189```
190enum OH_VideoSourceType
191```
192
193**描述**
194
195枚举,表示视频源格式。当前仅支持RGBA格式。
196
197**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
198
199**起始版本:** 10
200
201| 枚举项 | 描述 |
202| -- | -- |
203| OH_VIDEO_SOURCE_SURFACE_YUV = 0 | YUV格式。当前版本暂不支持。 |
204| OH_VIDEO_SOURCE_SURFACE_ES | raw格式。当前版本暂不支持。 |
205| OH_VIDEO_SOURCE_SURFACE_RGBA | RGBA格式。 |
206| OH_VIDEO_SOURCE_BUTT | 无效格式。 |
207
208### OH_ContainerFormatType
209
210```
211enum OH_ContainerFormatType
212```
213
214**描述**
215
216枚举,表示屏幕录制生成的文件类型。
217
218**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
219
220**起始版本:** 10
221
222| 枚举项 | 描述 |
223| -- | -- |
224| CFT_MPEG_4A = 0 | 音频格式 m4a。 |
225| CFT_MPEG_4 = 1 | 视频格式 mp4。 |
226
227### OH_AVScreenCaptureStateCode
228
229```
230enum OH_AVScreenCaptureStateCode
231```
232
233**描述**
234
235枚举,表示状态码。
236
237**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
238
239**起始版本:** 12
240
241| 枚举项 | 描述 |
242| -- | -- |
243| OH_SCREEN_CAPTURE_STATE_STARTED = 0 | 已开始录屏。 |
244| OH_SCREEN_CAPTURE_STATE_CANCELED = 1 | 已取消录屏。 |
245| OH_SCREEN_CAPTURE_STATE_STOPPED_BY_USER = 2 | 已停止录屏。 |
246| OH_SCREEN_CAPTURE_STATE_INTERRUPTED_BY_OTHER = 3 | 录屏被其他录屏中断。 |
247| OH_SCREEN_CAPTURE_STATE_STOPPED_BY_CALL = 4 | 录屏被通话中断。 |
248| OH_SCREEN_CAPTURE_STATE_MIC_UNAVAILABLE = 5 | 麦克风不可用。 |
249| OH_SCREEN_CAPTURE_STATE_MIC_MUTED_BY_USER = 6 | 麦克风被静音。 |
250| OH_SCREEN_CAPTURE_STATE_MIC_UNMUTED_BY_USER = 7 | 麦克风被取消静音。 |
251| OH_SCREEN_CAPTURE_STATE_ENTER_PRIVATE_SCENE = 8 | 进入隐私界面。 |
252| OH_SCREEN_CAPTURE_STATE_EXIT_PRIVATE_SCENE = 9 | 隐私界面退出。 |
253| OH_SCREEN_CAPTURE_STATE_STOPPED_BY_USER_SWITCHES = 10 | 系统用户切换,录屏中断。 |
254
255### OH_AVScreenCaptureBufferType
256
257```
258enum OH_AVScreenCaptureBufferType
259```
260
261**描述**
262
263枚举,表示buffer类型。
264
265**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
266
267**起始版本:** 12
268
269| 枚举项 | 描述 |
270| -- | -- |
271| OH_SCREEN_CAPTURE_BUFFERTYPE_VIDEO = 0 | 视频数据。 |
272| OH_SCREEN_CAPTURE_BUFFERTYPE_AUDIO_INNER = 1 | 内录音频数据。 |
273| OH_SCREEN_CAPTURE_BUFFERTYPE_AUDIO_MIC = 2 | 麦克风音频数据。 |
274
275### OH_AVScreenCaptureFilterableAudioContent
276
277```
278enum OH_AVScreenCaptureFilterableAudioContent
279```
280
281**描述**
282
283枚举,表示可过滤的音频类型。
284
285**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
286
287**起始版本:** 12
288
289| 枚举项 | 描述 |
290| -- | -- |
291| OH_SCREEN_CAPTURE_NOTIFICATION_AUDIO = 0 | 通知音。 |
292| OH_SCREEN_CAPTURE_CURRENT_APP_AUDIO = 1 | 应用自身声音。 |
293
294### OH_AVScreenCaptureContentChangedEvent
295
296```
297enum OH_AVScreenCaptureContentChangedEvent
298```
299
300**描述**
301
302枚举,表示录屏内容变更事件。
303
304**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
305
306**起始版本:** 20
307
308| 枚举项 | 描述 |
309| -- | -- |
310| OH_SCREEN_CAPTURE_CONTENT_HIDE = 0 | 录屏内容变为隐藏。 |
311| OH_SCREEN_CAPTURE_CONTENT_VISIBLE = 1 | 录屏内容变为可见。 |
312| OH_SCREEN_CAPTURE_CONTENT_UNAVAILABLE = 2 | 录屏内容状态变化为不可用,如录屏窗口关闭。 |
313
314### OH_AVScreenCapture_FillMode
315
316```
317enum OH_AVScreenCapture_FillMode
318```
319
320**描述**
321
322图像填充模式。
323
324**起始版本:** 20
325
326| 枚举项 | 描述 |
327| -- | -- |
328| OH_SCREENCAPTURE_FILLMODE_ASPECT_SCALE_FIT = 0 | 保持图像原始宽高比匹配目标图像大小,若比例不一致可能存在黑边。 |
329| OH_SCREENCAPTURE_FILLMODE_SCALE_TO_FILL = 1 | 图像拉伸匹配目标图像大小,若比例不一致图像变形。 |
330
331
332## 函数说明
333
334### OH_AVScreenCaptureOnError()
335
336```
337typedef void (*OH_AVScreenCaptureOnError)(OH_AVScreenCapture *capture, int32_t errorCode)
338```
339
340**描述**
341
342当OH_AVScreenCapture实例运行出错时,将调用函数指针。<br> 从API 12开始,推荐使用接口[OH_AVScreenCapture_OnError](#oh_avscreencapture_onerror)替代。
343
344**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
345
346**起始版本:** 10
347
348
349**参数:**
350
351| 参数项 | 描述 |
352| -- | -- |
353| [OH_AVScreenCapture](capi-avscreencapture-oh-avscreencapture.md) *capture | 指向OH_AVScreenCapture实例的指针。 |
354|  int32_t errorCode | 指定错误码。 |
355
356### OH_AVScreenCaptureOnAudioBufferAvailable()
357
358```
359typedef void (*OH_AVScreenCaptureOnAudioBufferAvailable)(OH_AVScreenCapture *capture, bool isReady,OH_AudioCaptureSourceType type)
360```
361
362**描述**
363
364当OH_AVScreenCapture实例操作期间音频缓存区可用时,将调用函数指针。<br> 从API 12开始,推荐使用接口[OH_AVScreenCapture_OnBufferAvailable](#oh_avscreencapture_onbufferavailable)替代。
365
366**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
367
368**起始版本:** 10
369
370
371**参数:**
372
373| 参数项 | 描述 |
374| -- | -- |
375| [OH_AVScreenCapture](capi-avscreencapture-oh-avscreencapture.md) *capture | 指向OH_AVScreenCapture实例的指针。 |
376|  bool isReady | 音频缓存区是否可用。 |
377| [OH_AudioCaptureSourceType](#oh_audiocapturesourcetype) type | 音频源类型。 |
378
379### OH_AVScreenCaptureOnVideoBufferAvailable()
380
381```
382typedef void (*OH_AVScreenCaptureOnVideoBufferAvailable)(OH_AVScreenCapture *capture, bool isReady)
383```
384
385**描述**
386
387当OH_AVScreenCapture实例操作期间视频缓存区可用时,将调用函数指针。<br> 从API 12开始,推荐使用接口[OH_AVScreenCapture_OnBufferAvailable](#oh_avscreencapture_onbufferavailable)替代。
388
389**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
390
391**起始版本:** 10
392
393
394**参数:**
395
396| 参数项 | 描述 |
397| -- | -- |
398| [OH_AVScreenCapture](capi-avscreencapture-oh-avscreencapture.md) *capture | 指向OH_AVScreenCapture实例的指针。 |
399|  bool isReady | 视频缓存区是否可用。 |
400
401### OH_AVScreenCapture_OnStateChange()
402
403```
404typedef void (*OH_AVScreenCapture_OnStateChange)(struct OH_AVScreenCapture *capture,OH_AVScreenCaptureStateCode stateCode, void *userData)
405```
406
407**描述**
408
409当OH_AVScreenCapture实例操作期间发生状态变更时,将调用函数指针。
410
411**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
412
413**起始版本:** 12
414
415
416**参数:**
417
418| 参数项 | 描述 |
419| -- | -- |
420| struct [OH_AVScreenCapture](capi-avscreencapture-oh-avscreencapture.md) *capture | 指向OH_AVScreenCapture实例的指针。 |
421| [OH_AVScreenCaptureStateCode](#oh_avscreencapturestatecode) stateCode | 指定状态码。 |
422|  void *userData | 指向应用设置该回调处理方法时提供的自定义数据的指针。 |
423
424### OH_AVScreenCapture_OnError()
425
426```
427typedef void (*OH_AVScreenCapture_OnError)(OH_AVScreenCapture *capture, int32_t errorCode, void *userData)
428```
429
430**描述**
431
432当OH_AVScreenCapture实例操作期间发生错误时,将调用函数指针。
433
434**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
435
436**起始版本:** 12
437
438
439**参数:**
440
441| 参数项 | 描述 |
442| -- | -- |
443| [OH_AVScreenCapture](capi-avscreencapture-oh-avscreencapture.md) *capture | 指向OH_AVScreenCapture实例的指针。 |
444|  int32_t errorCode | 指定错误码。 |
445|  void *userData | 指向应用设置该回调处理方法时提供的自定义数据的指针。 |
446
447### OH_AVScreenCapture_OnBufferAvailable()
448
449```
450typedef void (*OH_AVScreenCapture_OnBufferAvailable)(OH_AVScreenCapture *capture, OH_AVBuffer *buffer,OH_AVScreenCaptureBufferType bufferType, int64_t timestamp, void *userData)
451```
452
453**描述**
454
455当OH_AVScreenCapture实例操作期间音频或视频缓存区可用时,将调用该函数指针。
456
457**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
458
459**起始版本:** 12
460
461
462**参数:**
463
464| 参数项 | 描述 |
465| -- | -- |
466| [OH_AVScreenCapture](capi-avscreencapture-oh-avscreencapture.md) *capture | 指向OH_AVScreenCapture实例的指针。 |
467|  [OH_AVBuffer](../apis-avcodec-kit/_core.md#oh_avbuffer) *buffer | 指向OH_AVBuffer缓存区实例的指针,该回调方法执行结束返回后,数据缓存区不再有效。 |
468| [OH_AVScreenCaptureBufferType](#oh_avscreencapturebuffertype) bufferType | 可用缓存区的数据类型。 |
469|  int64_t timestamp | 时间戳,单位纳秒。 |
470|  void *userData | 指向应用设置该回调处理方法时提供的自定义数据的指针。 |
471
472### OH_AVScreenCapture_OnDisplaySelected()
473
474```
475typedef void (*OH_AVScreenCapture_OnDisplaySelected)(OH_AVScreenCapture *capture, uint64_t displayId, void *userData)
476```
477
478**描述**
479
480当录屏事件开始时,将调用函数指针。
481
482**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
483
484**起始版本:** 15
485
486
487**参数:**
488
489| 参数项 | 描述 |
490| -- | -- |
491| [OH_AVScreenCapture](capi-avscreencapture-oh-avscreencapture.md) *capture | 指向OH_AVScreenCapture实例的指针。 |
492|  uint64_t displayId | 录屏屏幕的Id。 |
493|  void *userData | 指向应用设置该回调处理方法时提供的自定义数据的指针。 |
494
495### OH_AVScreenCapture_OnCaptureContentChanged()
496
497```
498typedef void (*OH_AVScreenCapture_OnCaptureContentChanged)(OH_AVScreenCapture* capture,OH_AVScreenCaptureContentChangedEvent event, OH_Rect* area, void *userData)
499```
500
501**描述**
502
503当OH_AVScreenCapture实例操作期间录屏内容变化时,将调用函数指针。
504
505**系统能力:** SystemCapability.Multimedia.Media.AVScreenCapture
506
507**起始版本:** 20
508
509
510**参数:**
511
512| 参数项 | 描述 |
513| -- | -- |
514| [OH_AVScreenCapture](capi-avscreencapture-oh-avscreencapture.md)* capture | 指向OH_AVScreenCapture实例的指针。 |
515| [OH_AVScreenCaptureContentChangedEvent](#oh_avscreencapturecontentchangedevent) event | 录屏内容变更事件。 |
516| [OH_Rect](capi-avscreencapture-oh-rect.md)* area | 录屏内容可见时,对应位置信息。 |
517|  void *userData | 指向应用设置该回调处理方法时提供的自定义数据的指针。 |
518
519### OH_AVScreenCapture_OnUserSelected()
520
521```
522typedef void (*OH_AVScreenCapture_OnUserSelected)(OH_AVScreenCapture* capture,OH_AVScreenCapture_UserSelectionInfo* selections, void *userData)
523```
524
525**描述**
526
527当用户在授权界面(选择界面)选择参数时,功能接口将参数返回给应用程序。
528
529**起始版本:** 20
530
531
532**参数:**
533
534| 参数项 | 描述 |
535| -- | -- |
536| [OH_AVScreenCapture](capi-avscreencapture-oh-avscreencapture.md)* capture | 指向OH_AVScreenCapture实例的指针。 |
537| [OH_AVScreenCapture_UserSelectionInfo](capi-avscreencapture-oh-avscreencapture-userselectioninfo.md)* selections | 用户在授权界面选择的录制参数信息。 |
538|  void *userData | 指向用户数据的指针。 |
539
540
541