From 182f00c6c4dbc0c1e02d321aa272729885de89ad Mon Sep 17 00:00:00 2001 From: wangzx0705 Date: Mon, 31 Jul 2023 09:38:19 +0000 Subject: [PATCH] upload the development guide Signed-off-by: wangzx0705 --- zh-cn/application-dev/media/Readme-CN.md | 3 +- .../media/avscreen-capture-overview.md | 15 - ...ure-development.md => avscreen-capture.md} | 14 +- .../native-apis/_a_v_screen_capture.md | 363 ----- .../native-apis/_a_v_screen_capture_base.md | 1184 ----------------- .../_a_v_screen_capture_callback.md | 79 -- .../native__avscreen_capture_8h.md | 35 - .../native__avscreen_capture_base_8h.md | 52 - .../native__avscreen_capture_errors_8h.md | 84 -- 9 files changed, 14 insertions(+), 1815 deletions(-) delete mode 100644 zh-cn/application-dev/media/avscreen-capture-overview.md rename zh-cn/application-dev/media/{avscreen-capture-development.md => avscreen-capture.md} (86%) delete mode 100644 zh-cn/application-dev/reference/native-apis/_a_v_screen_capture.md delete mode 100644 zh-cn/application-dev/reference/native-apis/_a_v_screen_capture_base.md delete mode 100644 zh-cn/application-dev/reference/native-apis/_a_v_screen_capture_callback.md delete mode 100644 zh-cn/application-dev/reference/native-apis/native__avscreen_capture_8h.md delete mode 100644 zh-cn/application-dev/reference/native-apis/native__avscreen_capture_base_8h.md delete mode 100644 zh-cn/application-dev/reference/native-apis/native__avscreen_capture_errors_8h.md diff --git a/zh-cn/application-dev/media/Readme-CN.md b/zh-cn/application-dev/media/Readme-CN.md index a798bf1dd8..b1eebb4b97 100755 --- a/zh-cn/application-dev/media/Readme-CN.md +++ b/zh-cn/application-dev/media/Readme-CN.md @@ -32,8 +32,7 @@ - [视频播放](video-playback.md) - [视频录制](video-recording.md) - 屏幕录制 - - [屏幕录制开发概述](avscreen-capture-overview.md) - - [开发屏幕录制功能](avscreen-capture-development.md) + - [屏幕录制](avscreen-capture.md) - 音视频编解码 - [获取支持的编解码能力](obtain-supported-codecs.md) - [音频编码](audio-encoding.md) diff --git a/zh-cn/application-dev/media/avscreen-capture-overview.md b/zh-cn/application-dev/media/avscreen-capture-overview.md deleted file mode 100644 index 694e5049e6..0000000000 --- a/zh-cn/application-dev/media/avscreen-capture-overview.md +++ /dev/null @@ -1,15 +0,0 @@ -# 屏幕录制开发概述 - -## 如何选择屏幕录制开发方式 - -录屏取码流场景,主要用于直播类应用,应用需要获取录屏相关的音视频码流,然后通过流流转方式或者对接CDN服务器方式,达到直播时桌面共享的场景。应用配置完音视频相关参数后 ,可启动录制,在录制过程中可以控制麦克风的开关,达到mic音频是否在直播时播放,结束 直播时刻停止录制。 -另外,有些应用有自己的编码器,因此需要获取的是原始码流,用于对接它内部自己的编码器 (比如:welink,内部采用webRTC,有自己的编码器)。有些应用需要把流发布到CDN服务 器,那么他就需要编码后的码流。 - -- [开发屏幕录制功能](avscreen-capture-development.md):用于音频输入的Native API,仅支持PCM格式,视频输入的Native API,仅支持YUV格式,需要应用持续读取音频数据和视频数据进行工作。应用可以在音频输出和视频输出后添加数据处理,要求开发者具备音频处理和视频处理的基础知识,适用于更专业、更多样化的媒体录制应用开发。 - -## 开发录制应用须知 - -应用可以调用麦克风录制音频,但该行为属于隐私敏感行为,在调用麦克风前,需要先向用户申请权限“ohos.permission.MICROPHONE”。 -应用可以调用屏幕录制视频,但该行为属于隐私敏感行为,在调用屏幕录制前,需要先向用户申请权限“ohos.permission.CAPTURE_SCREEN”。 - -权限申请的流程请参考[访问控制授权申请指导](../security/accesstoken-guidelines.md)。 diff --git a/zh-cn/application-dev/media/avscreen-capture-development.md b/zh-cn/application-dev/media/avscreen-capture.md similarity index 86% rename from zh-cn/application-dev/media/avscreen-capture-development.md rename to zh-cn/application-dev/media/avscreen-capture.md index 1daf0e8f81..6f011e445f 100644 --- a/zh-cn/application-dev/media/avscreen-capture-development.md +++ b/zh-cn/application-dev/media/avscreen-capture.md @@ -1,4 +1,4 @@ -# 开发屏幕录制功能 +# 屏幕录制 屏幕录制功能主要有主屏幕录屏、指定物理屏录屏和应用内录屏。 @@ -6,6 +6,18 @@ 主屏幕录屏:录屏框架在制作录屏镜像时默认使用主屏;图形默认根据主屏生产录屏帧数据到显示数据缓冲队列;录屏框架从显示数据缓冲队列获取数据进行相应消费处理。 +## 如何选择屏幕录制开发方式 + +录屏取码流场景,主要用于直播类应用,应用需要获取录屏相关的音视频码流,然后通过流的流转方式或者对接CDN服务器方式,达到直播时桌面共享的场景。应用配置完音视频相关参数后 ,可启动录制,在录制过程中可以控制麦克风的开关,达到mic音频是否在直播时播放,结束直播时刻停止录制。 +另外某些应用有自己的编码器,因此需要获取的是原始码流,用于对接它内部自己的编码器(比如:welink,内部采用webRTC,有自己的编码器)。有些应用需要把流发布到CDN服务 器,那么他就需要编码后的码流。 + +## 开发录制应用须知 + +应用可以调用麦克风录制音频,但该行为属于隐私敏感行为,在调用麦克风前,需要先向用户申请权限“ohos.permission.MICROPHONE”。 +应用可以调用屏幕录制视频,但该行为属于隐私敏感行为,在调用屏幕录制前,需要先向用户申请权限“ohos.permission.CAPTURE_SCREEN”。 + +权限申请的流程请参考[访问控制授权申请指导](../security/accesstoken-guidelines.md)。 + ## 开发指导 使用AVScreenCapture录制屏幕涉及到AVScreenCapture实例的创建、音视频采集参数的配置、采集的开始与停止、资源的释放等。本开发指导将以一次录制屏幕数据的过程为例,向开发者讲解如何使用AVScreenCapturer进行屏幕录制,详细的API声明请参考[AVScreenCapture API参考](../reference/native-apis/_a_v_screen_capture.md)。 diff --git a/zh-cn/application-dev/reference/native-apis/_a_v_screen_capture.md b/zh-cn/application-dev/reference/native-apis/_a_v_screen_capture.md deleted file mode 100644 index b92b42918e..0000000000 --- a/zh-cn/application-dev/reference/native-apis/_a_v_screen_capture.md +++ /dev/null @@ -1,363 +0,0 @@ -# AVScreenCapture - - -## 概述 - -AVScreenCapture模块提供用于屏幕录制的函数。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -## 汇总 - - -### 文件 - -| 名称 | 描述 | -| -------- | -------- | -| [native_avscreen_capture.h](native__avscreen_capture_8h.md) | 声明用于构造屏幕录制对象的Native API。
引用文件:。 | -| [native_avscreen_capture_base.h](native__avscreen_capture_base_8h.md) | 声明用于运行屏幕录制通用的结构体、字符常量、枚举。
引用文件:。 | -| [native_avscreen_capture_errors.h](native__avscreen_capture_errors_8h.md) | 声明用于运行屏幕录制过程中接口调用的错误码说明。
引用文件:。 | - -### 函数 - -| 名称 | 描述 | -| -------- | -------- | -| \*[OH_AVScreenCapture_Create](#oh_avscreencapture_create) (void) | 实例化对象,创建OH_AVScreenCapture。 | -| [OH_AVScreenCapture_Init](#oh_avscreencapture_init) (OH_AVScreenCapture \*capture, OH_AVScreenCaptureConfig config) | 初始化录屏实例参数,实现对图形和音频模块的初始化工作。 | -| [OH_AVScreenCapture_StartScreenCapture](#oh_avscreencapture_startscreencapture) (OH_AVScreenCapture \*capture) | 开始录屏,调用后可以通过图形和音频模块的接口拿到视频和音频的原始码流。 | -| [OH_AVScreenCapture_StopScreenCapture](#oh_avscreencapture_stopscreencapture) (OH_AVScreenCapture \*capture) | 结束录屏,调用后针对调用该接口的应用会停止录屏或屏幕共享,释放麦克风。 | -| [OH_AVScreenCapture_AcquireAudioBuffer](#oh_avscreencapture_acquireaudiobuffer) (OH_AVScreenCapture \*capture, OH_AudioBuffer \*\*audiobuffer, OH_AudioCaptureSourceType type) | 获取音频原始码流接口,包括音频流的类型和长度信息。 | -| \*[OH_AVScreenCapture_AcquireVideoBuffer](#oh_avscreencapture_acquirevideobuffer) (OH_AVScreenCapture \*capture, int32_t \*fence, int64_t \*timestamp, struct OH_Rect \*region) | 获取视频原始码流接口,通过此接口可以获取视频码流以及每帧视频的信息。 | -| [OH_AVScreenCapture_ReleaseAudioBuffer](#oh_avscreencapture_releaseaudiobuffer) (OH_AVScreenCapture \*capture, OH_AudioCaptureSourceType type) | 根据音频类型释放音频buffer。 | -| [OH_AVScreenCapture_ReleaseVideoBuffer](#oh_avscreencapture_releasevideobuffer) (OH_AVScreenCapture \*capture) | 释放视频的buffer。 | -| [OH_AVScreenCapture_SetCallback](#oh_avscreencapture_setcallback) (OH_AVScreenCapture \*capture, OH_AVScreenCaptureCallback callback) | 设置回调的接口,用于回调录屏各类事件的监听。 | -| [OH_AVScreenCapture_SetMicrophoneEnabled](#oh_avscreencapture_setmicrophoneenabled) (OH_AVScreenCapture \*capture, bool isMicrophone) | 设置麦克风开关,关闭时,将获得无声的音频数据。 | -| [OH_AVScreenCapture_Release](#oh_avscreencapture_release) (OH_AVScreenCapture \*capture) | 释放录屏示例对象。 | - -## 函数说明 - -### OH_AVScreenCapture_Create() - - -``` -struct OH_AVScreenCapture *OH_AVScreenCapture_Create(void); -``` - -**描述:** - -实例化对象,创建OH_AVScreenCapture。可以通过调用 OH_AVScreenCapture_Release 释放实例。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**参数:** - -| 名称 | 描述 | -| -------- | -------- | -| void | 无需入参函数。 | - -**返回:** - -返回一个指向OH_AVScreenCapture实例的指针。 - -**起始版本:** - -10 - - -### OH_AVScreenCapture_Init() - - -``` -OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_Init(struct OH_AVScreenCapture *capture, OH_AVScreenCaptureConfig config); -``` - -**描述:** - -初始化OH_AVScreenCapture各参数,包括下发的音频麦克风采样信息参数,音频内录参数(可选),视频分辨率参数。 - -调用此函数,需要向申请麦克风权限(ohos.permission.MICROPHONE)和截屏权限(ohos.permission.CAPTURE_SCREEN),否则会初始化失败导致无法正常录屏。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**参数:** - -| 名称 | 描述 | -| -------- | -------- | -| capture | 指向OH_AVScreenCapture实例的指针。 | -| config | 录屏初始化相关参数,详情请参阅[OH_AVScreenCaptureConfig](_a_v_screen_capture_base.md#oh_avscreencaptureconfig)。 | - -**返回:** - -执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](native__avscreen_capture_errors_8h.md#oh_avscreen_capture_errcode)。 - -**起始版本:** - -10 - -### OH_AVScreenCapture_StartScreenCapture() - - -``` -OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StartScreenCapture(struct OH_AVScreenCapture *capture); -``` - -**描述:** - -开始录屏接口,调用该接口后,可以通过回调的监听(OH_AVScreenCaptureOnAudioBufferAvailable,OH_AVScreenCaptureOnVideoBufferAvailable)来监听当前是否有码流的产生。 - -通过调用获取音频buffer(OH_AVScreenCapture_AcquireAudioBuffer)和视频buffer(OH_AVScreenCapture_ReleaseVideoBuffer)的接口来获取录屏的原始码流。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**参数:** - -| 名称 | 描述 | -| -------- | -------- | -| capture | 指向OH_AVScreenCapture实例的指针。 | - -**返回:** - -执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](native__avscreen_capture_errors_8h.md#oh_avscreen_capture_errcode)。 - -**起始版本:** - -10 - - -### OH_AVScreenCapture_StopScreenCapture() - - -``` -OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StopScreenCapture(struct OH_AVScreenCapture *capture); -``` - -**描述:** - -停止录屏接口,用于停止录屏数据的继续生产。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**参数:** - -| 名称 | 描述 | -| -------- | -------- | -| capture | 指向OH_AVScreenCapture实例的指针。 | - -**返回:** - -执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](native__avscreen_capture_errors_8h.md#oh_avscreen_capture_errcode)。 - -**起始版本:** - -10 - - -### OH_AVScreenCapture_AcquireAudioBuffer() - - -``` -OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_AcquireAudioBuffer(struct OH_AVScreenCapture *capture, OH_AudioBuffer **audiobuffer, OH_AudioCaptureSourceType type); -``` - -**描述:** - -获取音频buffer,应用在调用时,需要对audiobuffer分配对应结构体大小的内存,否则会影响拿到音频buffer的获取。 - -buffer使用完成后,调用OH_AVScreenCapture_ReleaseAudioBuffer接口进行音频buffer的释放。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**参数:** - -| 名称 | 描述 | -| -------- | -------- | -| capture | 指向OH_AVScreenCapture实例的指针。 | -| audiobuffer | 保存音频buffer的结构体,通过该结构体获取到音频buffer以及buffer的时间戳等信息。 | -| type | 音频buffer的类型,区分是麦克风录制的外部流还是系统内部播放音频的内录流,详情请参阅[OH_AudioCaptureSourceType](_a_v_screen_capture_base.md#oh_audiocapturesourcetype)。 | - -**返回:** - -执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](native__avscreen_capture_errors_8h.md#oh_avscreen_capture_errcode)。 - -**起始版本:** - -10 - - -### OH_AVScreenCapture_AcquireVideoBuffer() - - -``` -OH_NativeBuffer* OH_AVScreenCapture_AcquireVideoBuffer(struct OH_AVScreenCapture *capture, int32_t *fence, int64_t *timestamp, struct OH_Rect *region); -``` - -**描述:** - -获取视频buffer,应用在调用时,通过此接口来获取到视频的buffer以及时间戳等信息。 -buffer使用完成后,调用OH_AVScreenCapture_ReleaseVideoBuffer接口进行视频buffer的释放。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**参数:** - -| 名称 | 描述 | -| -------- | -------- | -| capture | 指向OH_AVScreenCapture实例的指针。 | -| fence | 用于同步的显示相关参数信息。| -| timestamp | 视频帧的时间戳。 | -| region | 视频显示相关的坐标信息。 | - -**返回:** - -执行成功返回OH_NativeBuffer对象, 通过OH_NativeBuffer对象相关接口可以获取到视频buffer和粉分辨率等信息参数。 - -**起始版本:** - -10 - - -### OH_AVScreenCapture_ReleaseAudioBuffer() - - -``` -OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseAudioBuffer(struct OH_AVScreenCapture *capture, OH_AudioCaptureSourceType type); -``` - -**描述:** - -释放音频buffer, 与OH_AVScreenCapture_AcquireAudioBuffer相对应,当某一帧音频buffer使用完成后,调用此接口进行释放对应的音频buffer - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**参数:** - -| 名称 | 描述 | -| -------- | -------- | -| capture | 指向OH_AVScreenCapture实例的指针。 | -| type | 音频buffer的类型,区分mic流还是内录流。| - -**返回:** - -执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](native__avscreen_capture_errors_8h.md#oh_avscreen_capture_errcode)。 - -**起始版本:** - -10 - - -### OH_AVScreenCapture_ReleaseVideoBuffer() - - -``` -OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseVideoBuffer(struct OH_AVScreenCapture *capture); -``` - -**描述:** - -释放视频buffer, 与OH_AVScreenCapture_AcquireVideoBuffer相对应,当某一帧视频buffer使用完成后,调用此接口进行释放对应的视频buffer。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**参数:** - -| 名称 | 描述 | -| -------- | -------- | -| capture | 指向OH_AVScreenCapture实例的指针。 | - -**返回:** - -执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](native__avscreen_capture_errors_8h.md#oh_avscreen_capture_errcode)。 - -**起始版本:** - -10 - - -### OH_AVScreenCapture_SetCallback() - - -``` -OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetCallback(struct OH_AVScreenCapture *capture, struct OH_AVScreenCaptureCallback callback); -``` - -**描述:** - -设置监听接口,通过设置监听,可以监听到调用过程中的错误信息,以及是否有可用的视频buffer和音频buffer。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**参数:** - -| 名称 | 描述 | -| -------- | -------- | -| capture | 指向OH_AVScreenCapture实例的指针。 | -| callback | OH_AVScreenCaptureCallback的结构体,保存相关回调函数指针。 | - -**返回:** - -执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](native__avscreen_capture_errors_8h.md#oh_avscreen_capture_errcode)。 - -**起始版本:** - -10 - - -### OH_AVScreenCapture_SetMicrophoneEnabled() - - -``` -OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetMicrophoneEnabled(struct OH_AVScreenCapture *capture, bool isMicrophone); -``` - -**描述:** - -设置mic开关,isMicrophone为true时,则打开麦克风,通过调用OH_AVScreenCapture_StartScreenRecording和OH_AVScreenCapture_AcquireAudioBuffer可以正常获取到音频的麦克风原始pcm数据,为false时,获取到的音频数据为无声数据。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**参数:** - -| 名称 | 描述 | -| -------- | -------- | -| capture | 指向OH_AVScreenCapture实例的指针。 | -| isMicrophone | 麦克风开关参数。 | - -**返回:** - -执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](native__avscreen_capture_errors_8h.md#oh_avscreen_capture_errcode)。 - -**起始版本:** - -10 - - -### OH_AVScreenCapture_Release() - - -``` -OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_Release(struct OH_AVScreenCapture *capture); -``` - -**描述:** - -将创建的OH_AVScreenCapture实例进行释放,对应OH_AVScreenCapture_Create。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**参数:** - -| 名称 | 描述 | -| -------- | -------- | -| capture | 指向OH_AVScreenCapture实例的指针。 | - -**返回:** - -执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](native__avscreen_capture_errors_8h.md#oh_avscreen_capture_errcode)。 - -**起始版本:** - -10 diff --git a/zh-cn/application-dev/reference/native-apis/_a_v_screen_capture_base.md b/zh-cn/application-dev/reference/native-apis/_a_v_screen_capture_base.md deleted file mode 100644 index a9c0e6d319..0000000000 --- a/zh-cn/application-dev/reference/native-apis/_a_v_screen_capture_base.md +++ /dev/null @@ -1,1184 +0,0 @@ -# AVScreenCaptureBase - - -## 概述 - -AVScreenCaptureBase模块提供运行录屏通用的结构体、字符常量、枚举。该模块部分参数暂时不支持,在以下说明中会详细解答。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -## 汇总 - - -### 结构体 - -| 名称 | 描述 | -| -------- | -------- | -| [OH_AudioCaptureInfo](#oh_audiocaptureinfo) | 定义音频录制audiocapture实例的描述信息。 | -| [OH_AudioEncInfo](#oh_audioencinfo) | 定义音频的编码数据的描述信息。 | -| [OH_AudioInfo](#oh_audioinfo) | 定义屏幕录制时音频的描述信息。 | -| [OH_VideoCaptureInfo](#oh_videocaptureinfo) | 定义屏幕录制中视频录制采集的描述信息。 | -| [OH_VideoEncInfo](#oh_videoencinfo) | 定义屏幕录制中视频的编码数据描述信息。 | -| [OH_VideoInfo](#oh_videoinfo) | 定义屏幕录制时视频的描述信息。 | -| [OH_AVScreenCaptureConfig](#oh_avscreencaptureconfig) | 定义整体avscreencapture的配置信息。 | -| [OH_AVScreenCaptureCallback](_a_v_screen_capture_callback.md) | 定义avscreencapture的回调信息,包含不同的回调函数类型。 | -| [OH_Rect](#oh_rect) | 定义录屏的宽高以及画面信息。 | -| [OH_AudioBuffer](#oh_audiobuffer) | 定义了音频数据的大小,类型,时间戳等配置信息。 | - -### 类型定义 -| 名称 | 描述 | -| -------- | -------- | -| (\*[OH_AVScreenCaptureOnError](#oh_avscreencaptureonerror)) (OH_AVScreenCapture \*capture, int32_t errorCode)| 当screencapture在运行过程中执行某一流程出现错误,则调用该函数指针并上报错误码。 | -| (\*[OH_AVScreenCaptureOnAudioBufferAvailable](#oh_avscreencaptureonaudiobufferavailable)) (OH_AVScreenCapture \*capture, bool isReady, OH_AudioCaptureSourceType type)| 当screencapture在运行,音频缓冲可用时,调用该函数指针并更新状态信息。 | -| (\*[OH_AVScreenCaptureOnVideoBufferAvailable](#oh_avscreencaptureonvideobufferavailable)) (OH_AVScreenCapture \*capture, bool isReady)| 当screencapture在运行,视频缓冲可用时,调用该函数指针并更新状态信息。 | - -### 枚举 - -| 名称 | 描述 | -| -------- | -------- | -| [OH_CaptureMode](#oh_capturemode) {
**OH_CAPTURE_HOME_SCREEN** = 0,**OH_CAPTURE_SPECIFIED_SCREEN** = 1, **OH_CAPTURE_SPECIFIED_WINDOW** = 2, **OH_CAPTURE_INVAILD** = -1
} | 屏幕录制的不同模式,包括主屏幕录制,特殊屏幕录制,特殊屏幕内的特殊窗口录制模式。 | -| [OH_AudioCaptureSourceType](#oh_audiocapturesourcetype) {
**OH_SOURCE_INVALID** = -1, **OH_SOURCE_DEFAULT** = 0, **OH_MIC** = 1, **OH_ALL_PLAYBACK** = 2, **OH_APP_PLAYBACK** = 3
} | 屏幕录制音频的不同source类型,包括麦克风录制的外部音频流,系统播放的所有音频的内部音频流和指定应用播放音频的内部音频流类型。 | -| [OH_AudioCodecFormat](#oh_audiocodecformat) {
**OH_AUDIO_DEFAULT** = 0, **OH_AAC_LC** = 3, **OH_AUDIO_CODEC_FORMAT_BUTT**,
} | 屏幕录制音频的不同的编码格式,包括AAC_LC音频编码格式。 | -| [OH_VideoCodecFormat](#oh_videocodecformat) {
**OH_VIDEO_DEFAULT** = 0, **OH_H264** = 2, **OH_H265** = 4, **OH_MPEG4** = 6, **OH_VP8** = 8, **OH_VP9** = 10, **OH_VIDEO_CODEC_FORMAT_BUTT**
} | 屏幕录制视频的不同编码格式,包括h264,h265,mpeg4,vp8,vp9视频编码格式。 | -| [OH_DataType](#oh_datatype) {
**OH_ORIGINAL_STREAM** = 0, **OH_ENCODED_STREAM** = 1, **OH_CAPTURE_FILE** = 2, **OH_INVAILD** = -1
} | 屏幕录制流的数据格式,编码格式,以及保存文件格式等参数。 | -| [OH_VideoSourceType](#oh_videosourcetype) {
**OH_VIDEO_SOURCE_SURFACE_YUV** = 0, **OH_VIDEO_SOURCE_SURFACE_ES**, **OH_VIDEO_SOURCE_SURFACE_RGBA**, **OH_VIDEO_SOURCE_BUTT**
} | 屏幕录制视频的不同source类型,包括YUV,ES,RGBA资源类型。 | -| [OH_ContainerFormatType](#oh_containerformattype) {
**CFT_MPEG_4A** = 0, **CFT_MPEG_4** = 1
} | 屏幕录制生成物的不同音视频格式类型,包括MPEG_4A,MPEG_4格式类型。 | - -### 变量 - -| 名称 | 描述 | -| -------- | -------- | -| [OH_AudioCaptureInfo::audioSampleRate](#audiosamplerate) | 录屏音频采样率, 支持列表见[OH_AudioCapturer_GetSamplingRate](#_o_h_audio.md#oh_audiocapturer_getsamplingrate)。 | -| [OH_AudioCaptureInfo::audioChannels](#audiochannels) | 录屏音频声道数。 | -| [OH_AudioCaptureInfo::audioSource](#audiosource) | 录屏音频的source源,如麦克风或者内录。 | -| [OH_AudioEncInfo::audioBitrate](#audiobitrate) | 录制音频的比特率,用于编码相关参数的设置。 | -| [OH_AudioEncInfo::audioCodecformat](#audiocodecformat) | 录制音频的编码格式。 | -| [OH_AudioInfo::micCapInfo](#miccapinfo) | 录制的mic的音频参数设置,设置类型为OH_AudioCaptureInfo。 | -| [OH_AudioInfo::innerCapInfo](#innercapinfo) | 录制的内录的音频参数设置,设置类型为OH_AudioCaptureInfo。 | -| [OH_AudioInfo::audioEncInfo](#audioencinfo) | 录制音频编码的相关参数,设置类型为OH_AudioEncInfo。 | -| [OH_VideoCaptureInfo::displayId](#displayid) | 录制物理屏id,使用该参数需要在capturemode为CAPTURE_SPECIFIED_SCREEN模式下使用。 | -| [OH_VideoCaptureInfo::missionIDs](#missionids) | 指定窗口id列表,使用该参数需要在capturemode为CAPTURE_SPECIFIED_WINDOW模式下使用。 | -| [OH_VideoCaptureInfo::missionIDsLen](#missionidslen) | 指定窗口的,使用该参数需要在capturemode为CAPTURE_SPECIFIED_WINDOW模式下使用。 | -| [OH_VideoCaptureInfo::videoFrameWidth](#videoframewidth) | 采集视频的宽度设置。 | -| [OH_VideoCaptureInfo::videoFrameHeight](#videoframeheight) | 采集视频的高度设置。 | -| [OH_VideoCaptureInfo::videoSource](#videosource) | 视频采集格式设置,目前仅支持RGBA格式。 | -| [OH_VideoEncInfo::videoCodec](#videocodec) | 视频采集编码格式,类型为OH_VideoCodecFormat。 | -| [OH_VideoEncInfo::videoBitrate](#videobitrate) | 视频采集比特率。 | -| [OH_VideoEncInfo::videoFrameRate](#videoframerate) | 视频采集帧率。 | -| [OH_VideoInfo::videoCapInfo](#videocapinfo) | 视频采集信息的设置,设置类型为OH_VideoCaptureInfo。 | -| [OH_VideoInfo::videoEncInfo](#videoencinfo) | 视频编码参数的设置,设置类型为OH_VideoEncInfo。 | -| [OH_AVScreenCaptureConfig::captureMode](#capturemode) | 屏幕录制方式,如全屏录制,指定物理屏录制或者指定窗口录制。 | -| [OH_AVScreenCaptureConfig::dataType](#datatype) | 屏幕录制的形式,比如录制原始码流,编码后码流还是文件。 | -| [OH_AVScreenCaptureConfig::audioInfo](#audioinfo) | 录制音频相关参数设置,类型为OH_AudioInfo。 | -| [OH_AVScreenCaptureConfig::videoInfo](#videoinfo) | 录制视频相关参数设置,类型为OH_VideoInfo。 | -| [OH_AVScreenCaptureCallback::onError](_a_v_screen_capture_callback.md#onerror) | 录屏过程中错误事件的监听函数。 | -| [OH_AVScreenCaptureCallback::onAudioBufferAvailable](_a_v_screen_capture_callback.md#onaudiobufferavailable) | 录屏过程中音频流产生的监听。 | -| [OH_AVScreenCaptureCallback::onVideoBufferAvailable](_a_v_screen_capture_callback.md#onvideobufferavailable) | 录屏过程中视频流产生的监听。 | -| [OH_Rect::x](#x) | 视频数据的x坐标。 | -| [OH_Rect::y](#y) | 视频数据的y坐标。 | -| [OH_Rect::width](#width) | 视频宽度。 | -| [OH_Rect::height](#height) | 视频高度。 | -| [OH_AudioBuffer::buf](#buf) | 存放音频数据。 | -| [OH_AudioBuffer::size](#size) | 存放音频每一帧数据的长度。 | -| [OH_AudioBuffer::timestamp](#timestamp) | 音频的时间戳。 | -| [OH_AudioBuffer::type](#type) | 音频数据源类型,比如内录源还是mic。 | - - -## 类型定义说明 - -# OH_AudioCaptureInfo - -``` -typedef struct OH_AudioCaptureInfo OH_AudioCaptureInfo -``` - -## 概述 - -定义音频录制audiocapture实例的描述信息。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -### 成员变量 - -| 名称 | 描述 | -| ----------------------------------- | ----------------------------------- | -| [audioSampleRate](#audiosamplerate) | 录屏音频采样率。 | -| [audioChannels](#audiochannels) | 录制音频的声道数。 | -| [audioSource](#audiosource) | 录屏音频的source源,如麦克风或者内录。 | - -## 结构体成员变量说明 - - -### audiosamplerate - - -``` -int32_t audioSampleRate -``` - -**描述:** - -音频采样率,支持列表见[OH_AudioCapturer_GetSamplingRate](#_o_h_audio.md#oh_audiocapturer_getsamplingrate)。 - -**起始版本:** - -10 - - -### audioChannels - - -``` -int32_t audioChannels -``` - -**描述:** - -采样声道数。 - -**起始版本:** - -10 - - -### audioSource - - -``` -OH_AudioCaptureSourceType audioSource; -``` - -**描述:** - -录屏音频的source源,如麦克风或者内录。 - -**起始版本:** - -10 - -# OH_AudioEncInfo - -``` -typedef struct OH_AudioCaptureInfo OH_AudioCaptureInfo -``` - -## 概述 - -定义音频的编码数据的描述信息。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -### 成员变量 - -| 名称 | 描述 | -| -------- | -------- | -| [audioBitrate](#audiobitrate) | 录屏音频比特率。 | -| [audioCodecformat](#audiocodecformat) | 录屏音频编码格式。 | - -## 结构体成员变量说明 - - -### audioBitrate - - -``` -int32_t audioBitrate -``` - -**描述:** - -录屏音频比特率。 - -**起始版本:** - -10 - -### audioCodecformat - - -``` -OH_AudioCodecFormat audioCodecformat -``` - -**描述:** - -录屏音频编码格式。 - -**起始版本:** - -10 - -# OH_AudioInfo - -``` -typedef struct OH_AudioInfo -``` - -## 概述 - -定义屏幕录制音频的描述信息。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -### 成员变量 - -| 名称 | 描述 | -| -------- | -------- | -| [micCapInfo](#miccapinfo) | 麦克风录制信息。 | -| [innerCapInfo](#innercapinfo) | 内录录制信息。 | -| [audioEncInfo](#audioencinfo) | 音频编码信息。 | - -## 结构体成员变量说明 - - -### micCapInfo - - -``` -OH_AudioCaptureInfo micCapInfo -``` - -**描述:** -麦克风录制信息。 - -**起始版本:** - -10 - -### innerCapInfo - - -``` -OH_AudioCaptureInfo innerCapInfo -``` - -**描述:** -声音内录录制信息。 - -**起始版本:** - -10 - -### audioEncInfo - - -``` -OH_AudioCaptureInfo audioEncInfo -``` - -**描述:** -音频编码信息。 - -**起始版本:** - -10 - -# OH_VideoCaptureInfo - -``` -typedef struct OH_VideoCaptureInfo OH_VideoCaptureInfo -``` - -## 概述 - -定义屏幕录制中视频录制的描述信息。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -### 成员变量 - -| 名称 | 描述 | -| -------- | -------- | -| [displayId](#displayid) | 录屏显示id。 | -| [missionIDs](#missionids) | 录屏任务id。 | -| [missionIDsLen](#missionidslen) | 录屏任务id长度。 | -| [videoFrameWidth](#videoframewidth) | 录屏视频帧宽。 | -| [videoFrameHeight](#videoframeheight) | 录屏视频帧高。 | -| [videoSource](#videosource) | 录屏视频数据源。 | - -## 结构体成员变量说明 - - -### displayId - - -``` -uint64_t displayId -``` - -**描述:** -录屏的显示id,用于选择绑定指定屏幕录屏。 - -**起始版本:** - -10 - -### missionIDs - - -``` -int32_t *missionIDs -``` - -**描述:** -指定特定屏幕录屏时,对应的录屏任务id信息。 - -**起始版本:** - -10 - -### missionIDsLen - - -``` -int32_t missionIDsLen -``` - -**描述:** -指定特定屏幕录屏时,录屏任务id信息长度。 - -**起始版本:** - -10 - -### videoFrameWidth - - -``` -int32_t videoFrameWidth -``` - -**描述:** -视频分辨率中的帧宽参数。 - -**起始版本:** - -10 - -### videoFrameHeight - - -``` -int32_t videoFrameHeight -``` - -**描述:** -视频分辨率中的帧高参数。 - -**起始版本:** - -10 - -### videoSource - - -``` -OH_VideoSourceType videoSource -``` - -**描述:** -录屏视频源类型参数。 - -**起始版本:** - -10 - -# OH_VideoEncInfo - -``` -typedef struct OH_VideoEncInfo OH_VideoEncInfo -``` - -## 概述 - -定义屏幕录制中视频数据的编码信息。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -### 成员变量 - -| 名称 | 描述 | -| -------- | -------- | -| [videoCodec](#videocodec) | 视频数据编码信息。 | -| [videoBitrate](#videobitrate) | 视频数据比特率信息。 | -| [videoFrameRate](#videoframerate) | 视频数据帧率参数。 | - -## 结构体成员变量说明 - - -### videoCodec - - -``` -OH_VideoCodecFormat videoCodec -``` - -**描述:** -录屏视频数据的编码信息。 - -**起始版本:** - -10 - -### videoBitrate - - -``` -int32_t videoBitrate -``` - -**描述:** -录屏视频数据的比特率信息。 - -**起始版本:** - -10 - -### videoFrameRate - - -``` -int32_t videoFrameRate -``` - -**描述:** -录屏视频数据的帧率信息,需要根据设备刷新率和编码帧率性能约束进行设置。 - -**起始版本:** - -10 - - -# OH_VideoInfo - -``` -typedef struct OH_VideoInfo OH_VideoInfo -``` - -## 概述 - -定义屏幕录制时视频的描述信息。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -### 成员变量 - -| 名称 | 描述 | -| -------- | -------- | -| [videoCapInfo](#videocapinfo) | 视频数据编码信息。 | -| [videoEncInfo](#videoencinfo) | 视频数据比特率信息。 | - -## 结构体成员变量说明 - - -### videoCapInfo - - -``` -OH_VideoCaptureInfo videoCapInfo -``` - -**描述:** -视频采集信息的设置,设置类型为OH_VideoCaptureInfo。 - -**起始版本:** - -10 - -### videoEncInfo - - -``` -OH_VideoEncInfo videoEncInfo -``` - -**描述:** -视频编码参数的设置,设置类型为OH_VideoEncInfo。 - -**起始版本:** - -10 - -# OH_AVScreenCaptureConfig - -``` -typedef struct OH_AVScreenCaptureConfig OH_AVScreenCaptureConfig -``` - -## 概述 - -定义整体avscreencapture的配置信息。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -### 成员变量 - -| 名称 | 描述 | -| -------- | -------- | -| [captureMode](#capturemode) | 屏幕录制方式,如全屏录制,指定物理屏录制或者指定窗口录制。 | -| [dataType](#datatype) | 屏幕录制的形式,比如录制原始码流,编码后码流还是文件。 | -| [audioInfo](#audioinfo) | 录制音频相关参数设置,类型为OH_AudioInfo。 | -| [videoInfo](#videoinfo) | 录制视频相关参数设置,类型为OH_VideoInfo。 | - - -## 结构体成员变量说明 - - -### captureMode - - -``` -OH_CaptureMode captureMode -``` - -**描述:** -屏幕录制方式,如全屏录制,指定物理屏录制或者指定窗口录制。 - -**起始版本:** - -10 - -### dataType - - -``` -OH_DataType dataType -``` - -**描述:** -屏幕录制的形式,比如录制原始码流,编码后码流还是文件。 - -**起始版本:** - -10 - -### audioInfo - - -``` -OH_AudioInfo audioInfo -``` - -**描述:** -录制音频相关参数设置,类型为OH_AudioInfo。 - -**起始版本:** - -10 - -### videoInfo - - -``` -OH_VideoInfo videoInfo -``` - -**描述:** -录制视频相关参数设置,类型为OH_VideoInfo。 - -**起始版本:** - -10 - -# OH_AVScreenCaptureCallback - -``` -typedef struct OH_AVScreenCaptureCallback OH_AVScreenCaptureCallback -``` - -## 概述 - -定义avscreencapture的回调信息,包含不同的回调函数类型。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -### 成员变量 - -| 名称 | 描述 | -| -------- | -------- | -| [onError](#onerror) | 录屏过程中错误事件的监听函数。 | -| [onAudioBufferAvailable](#onaudiobufferavailable) | 录屏过程中音频流产生的监听。 | -| [onVideoBufferAvailable](#onvideobufferavailable) | 录屏过程中视频流产生的监听。 | - -## 结构体成员变量说明 - - -### onError - - -``` -OH_AVScreenCaptureOnError onError -``` - -**描述:** -录屏过程中错误事件的监听函数,具体错误码可参照[错误码说明文档](native__avscreen_capture_errors_8h.md#oh_avscreen_capture_errcode)。 - -**起始版本:** - -10 - -### onAudioBufferAvailable - - -``` -OH_AVScreenCaptureOnAudioBufferAvailable onAudioBufferAvailable -``` - -**描述:** -录屏过程中音频流产生的监听。 - -**起始版本:** - -10 - -### onVideoBufferAvailable - - -``` -OH_AVScreenCaptureOnVideoBufferAvailable onVideoBufferAvailable -``` - -**描述:** -录屏过程中视频流产生的监听。 - -**起始版本:** - -10 - -# OH_Rect - -``` -typedef struct OH_Rect OH_Rect -``` - -## 概述 - -定义录屏的宽高以及画面信息。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -### 成员变量 - -| 名称 | 描述 | -| -------- | -------- | -| [x](#x) | 视频数据的x坐标。 | -| [y](#y) | 视频数据的y坐标。 | -| [width](#width) | 视频宽度。 | -| [height](#height) | 视频高度。 | - -## 结构体成员变量说明 - - -### x - - -``` -int32_t x -``` - -**描述:** -视频数据的x坐标。 - -**起始版本:** - -10 - -### y - - -``` -int32_t y -``` - -**描述:** -视频数据的y坐标。 - -**起始版本:** - -10 - -### width - - -``` -int32_t width -``` - -**描述:** -视频宽度。 - -**起始版本:** - -10 - -### height - - -``` -int32_t height -``` - -**描述:** -视频高度。 - -**起始版本:** - -10 - -# OH_AudioBuffer - -``` -typedef struct OH_AudioBuffer OH_AudioBuffer -``` - -## 概述 - -定义了音频数据的大小,类型,时间戳等配置信息。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -### 成员变量 - -| 名称 | 描述 | -| -------- | -------- | -| [buf](#buf) | 存放音频数据。 | -| [size](#size) | 存放音频每一帧数据的长度。 | -| [timestamp](#timestamp) | 音频的时间戳。 | -| [type](#type) | 音频数据源类型,比如内录源还是mic。 | - -## 结构体成员变量说明 - - -### buf - - -``` -uint8_t *buf -``` - -**描述:** -存放音频数据。 - -**起始版本:** - -10 - -### size - - -``` -int32_t size -``` - -**描述:** -存放音频每一帧数据的长度。 - -**起始版本:** - -10 - -### timestamp - - -``` -int64_t timestamp -``` - -**描述:** -音频的时间戳。 - -**起始版本:** - -10 - -### type - - -``` -OH_AudioCaptureSourceType type -``` - -**描述:** -音频数据源类型,比如内录源还是mic。 - -**起始版本:** - -10 - -### OH_AVScreenCaptureOnError - - -``` -typedef void (*OH_AVScreenCaptureOnError)(OH_AVScreenCapture *capture, int32_t errorCode) -``` - -**描述:** - -当实例AVScreenCapture运行出错时,会调用来上报具体的错误信息的函数指针。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**参数:** - -| 名称 | 描述 | -| -------- | -------- | -| capture | OH_AVScreenCapture实例 | -| errorCode | 特定错误码 | - -### OH_AVScreenCaptureOnAudioBufferAvailable - - -``` -typedef void (*OH_AVScreenCaptureOnAudioBufferAvailable)(OH_AVScreenCapture *capture, bool isReady, OH_AudioCaptureSourceType type) -``` - -**描述:** - -当实例AVScreenCapture申请到音频数据可用时,回调来产生音频流监听。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**参数:** - -| 名称 | 描述 | -| -------- | -------- | -| capture | OH_AVScreenCapture实例 | -| isReady | 状态参数 | -| type | 音频数据源类型,比如内录源还是mic | - -### OH_AVScreenCaptureOnVideoBufferAvailable - - -``` -typedef void (*OH_AVScreenCaptureOnVideoBufferAvailable)(OH_AVScreenCapture *capture, bool isReady) -``` - -**描述:** - -当实例AVScreenCapture申请到视频数据可用时,回调来产生视频流监听。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**参数:** - -| 名称 | 描述 | -| -------- | -------- | -| capture | OH_AVScreenCapture实例 | -| isReady | 状态参数 | - - -### OH_CaptureMode - -``` -typedef enum OH_CaptureMode OH_CaptureMode -``` - -**描述:** - -屏幕录制模式。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -### OH_AudioCaptureSourceType - -``` -typedef enum OH_AudioCaptureSourceType OH_AudioCaptureSourceType -``` - -**描述:** - -屏幕录制音频数据源类型,如内录或mic。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -### OH_AudioCodecFormat - -``` -typedef enum OH_AudioCodecFormat OH_AudioCodecFormat -``` - -**描述:** - -屏幕录制音频数据编码格式。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -### OH_VideoCodecFormat - -``` -typedef enum OH_VideoCodecFormat OH_VideoCodecFormat -``` - -**描述:** - -屏幕录制视频数据编码格式。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -### OH_DataType - -``` -typedef enum OH_DataType OH_DataType -``` - -**描述:** -屏幕录制的形式,比如录制原始码流,编码后码流还是文件。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -### OH_VideoSourceType - -``` -typedef enum OH_VideoSourceType OH_VideoSourceType -``` - -**描述:** -屏幕录制视频数据源类型,如手动设置或直接从显示中获取。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -### OH_ContainerFormatType - -``` -typedef enum OH_ContainerFormatType OH_ContainerFormatType -``` - -**描述:** -屏幕录制数据容器类型。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -## 枚举类型说明 - - -### OH_CaptureMode - -``` -enum OH_CaptureMode -``` - -**描述:** - -屏幕录制模式。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -| 枚举值 | 描述 | -| -------- | -------- | -| OH_CAPTURE_HOME_SCREEN | 录制主屏幕模式。 | -| OH_CAPTURE_SPECIFIED_SCREEN | 录制指定屏幕模式。 | -| OH_CAPTURE_SPECIFIED_WINDOW | 录制指定窗口模式。 | -| OH_CAPTURE_INVAILD | 录制错误模式。 | - -### OH_AudioCaptureSourceType - -``` -enum OH_AudioCaptureSourceType -``` - -**描述:** - -音频录制数据源类型。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -| 枚举值 | 描述 | -| -------- | -------- | -| OH_SOURCE_INVALID | 错误类型。 | -| OH_SOURCE_DEFAULT | 默认类型。 | -| OH_MIC | 麦克风类型。 | -| OH_ALL_PLAYBACK | 内录类型。 | -| OH_APP_PLAYBACK | 指定app内录类型。 | - -### OH_AudioCodecFormat - -``` -enum OH_AudioCodecFormat -``` - -**描述:** - -音频录制数据编码类型。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -| 枚举值 | 描述 | -| -------- | -------- | -| OH_AUDIO_DEFAULT | 默认格式类型。 | -| OH_AAC_LC | aac_lc格式类型。 | -| OH_AUDIO_CODEC_FORMAT_BUTT | 错误格式类型。 | - -### OH_VideoCodecFormat - -``` -enum OH_VideoCodecFormat -``` - -**描述:** - -视频录制数据编码类型。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -| 枚举值 | 描述 | -| -------- | -------- | -| OH_VIDEO_DEFAULT | 默认格式类型。 | -| OH_H264 | h264格式类型。 | -| OH_H265 | h265格式类型。 | -| OH_MPEG4 | mp4格式类型。 | -| OH_VP8 | vp8格式类型。 | -| OH_VP9 | vp9格式类型。 | -| OH_VIDEO_CODEC_FORMAT_BUTT | 错误格式类型。| - -### OH_DataType - -``` -enum OH_DataType -``` - -**描述:** - -录屏生成数据形式,码流或指定格式文件。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -| 枚举值 | 描述 | -| -------- | -------- | -| OH_VIDEO_SOURCE_SURFACE_YUV | yuv格式类型。 | -| OH_VIDEO_SOURCE_SURFACE_ES | es格式类型。 | -| OH_VIDEO_SOURCE_SURFACE_RGBA | rgba格式类型。 | -| OH_VIDEO_SOURCE_BUTT | 错误格式类型。 | - -### OH_ContainerFormatType - -``` -enum OH_ContainerFormatType -``` - -**描述:** - -录制生成数据容器格式类型。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -| 枚举值 | 描述 | -| -------- | -------- | -| CFT_MPEG_4A | 音频格式m4a格式。 | -| CFT_MPEG_4 | 视频格式mp4格式。 | - -### OH_ContainerFormatType - -``` -enum OH_ContainerFormatType -``` - -**描述:** - -录制生成数据容器格式类型。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -| 枚举值 | 描述 | -| -------- | -------- | -| CFT_MPEG_4A | 音频格式m4a格式。 | -| CFT_MPEG_4 | 视频格式mp4格式。 | diff --git a/zh-cn/application-dev/reference/native-apis/_a_v_screen_capture_callback.md b/zh-cn/application-dev/reference/native-apis/_a_v_screen_capture_callback.md deleted file mode 100644 index d538ae3311..0000000000 --- a/zh-cn/application-dev/reference/native-apis/_a_v_screen_capture_callback.md +++ /dev/null @@ -1,79 +0,0 @@ -# OH_AVScreenCaptureCallback - - -## 概述 - -OH_AVScreenCapture中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVScreenCapture实例中, 并处理回调上报的信息,以保证OH_AVScreenCapture的正常运行。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -9 - -**相关模块:** - -[AVSCreenCaptureBase](_a_v_screen_capture_base.md) - - -## 汇总 - - -### 成员变量 - -| 名称 | 描述 | -| -------- | -------- | -| [onError](#onerror) | 监控录屏调用操作错误,请参见[OH_AVScreenCaptureOnError](_a_v_screen_capture_base.md#oh_avscreencaptureonerror)。 | -| [onAudioBufferAvailable](#onaudiobufferavailable) | 监控音频码流是否有数据产生[OH_AVScreenCaptureOnAudioBufferAvailable](_a_v_screen_capture_base.md#oh_avscreencaptureonaudiobufferavailable)。 | -| [onVideoBufferAvailable](#onvideobufferavailable) | 监控视频码流是否有数据产生[OH_AVScreenCaptureOnVideoBufferAvailable](_a_v_screen_capture_base.md#oh_avscreencaptureonvideobufferavailable)。 | - - -## 结构体成员变量说明 - - -### onError - - -``` -OH_AVScreenCaptureOnError onError -``` - -**描述:** - -监控录屏调用操作错误,请参见[OH_AVScreenCaptureOnError](_a_v_screen_capture_base.md#oh_avscreencaptureonerror) - -**起始版本:** - -10 - - -### onAudioBufferAvailable - - -``` -OH_AVScreenCaptureOnAudioBufferAvailable onAudioBufferAvailable -``` - -**描述:** - -监控音频码流是否有数据产生[OH_AVScreenCaptureOnAudioBufferAvailable](_a_v_screen_capture_base.md#oh_avscreencaptureonaudiobufferavailable) - -**起始版本:** - -10 - - -### onVideoBufferAvailable - - -``` -OH_AVScreenCaptureOnVideoBufferAvailable onVideoBufferAvailable -``` - -**描述:** - -监控视频码流是否有数据产生[OH_AVScreenCaptureOnVideoBufferAvailable](_a_v_screen_capture_base.md#oh_avscreencaptureonvideobufferavailable) - -**起始版本:** - -10 \ No newline at end of file diff --git a/zh-cn/application-dev/reference/native-apis/native__avscreen_capture_8h.md b/zh-cn/application-dev/reference/native-apis/native__avscreen_capture_8h.md deleted file mode 100644 index 287bb9b80c..0000000000 --- a/zh-cn/application-dev/reference/native-apis/native__avscreen_capture_8h.md +++ /dev/null @@ -1,35 +0,0 @@ -# native_avscreen_capture.h - - -## 概述 - -声明屏幕录制相关接口, - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -**相关模块:** - -[AVScreenCapture](_a_v_screen_capture.md) - -## 汇总 - - -### 函数 - -| 名称 | 描述 | -| -------- | -------- | -| \*[OH_AVScreenCapture_Create](_a_v_screen_capture.md#oh_avscreencapture_create) (void) | 创建一个AVScreenCapture实例。 | -| [OH_AVScreenCapture_Init](_a_v_screen_capture.md#oh_avscreencapture_init) (struct OH_AVScreenCapture \*capture, OH_AVScreenCaptureConfig config) | 根据config配置初始化一个capture对象。 | -| [OH_AVScreenCapture_StartScreenCapture](_a_v_screen_capture.md#oh_avscreencapture_startscreencapture) (struct OH_AVScreenCapture \*capture) | 启动屏幕录制。 | -| [OH_AVScreenCapture_StopScreenCapture](_a_v_screen_capture.md#oh_avscreencapture_stopscreencapture) (struct OH_AVScreenCapture \*capture) | 停止屏幕录制。 | -| [OH_AVScreenCapture_AcquireAudioBuffer](_a_v_screen_capture.md#oh_avscreencapture_acquireaudiobuffer) (struct OH_AVScreenCapture \*capture, OH_AudioBuffer \*\*audiobuffer, OH_AudioCaptureSourceType type) | 调用开始录制接口后,调用该接口进行音频buffer的申请,获取音频buffer信息。 | -| [OH_AVScreenCapture_AcquireVideoBuffer](_a_v_screen_capture.md#oh_avscreencapture_acquirevideobuffer) (struct OH_AVScreenCapture \*capture, int32_t \*fence, int64_t \*timestamp, OH_Rect \*region) | 调用开始录制接口后,调用该接口进行视频buffer的申请,获取视频buffer信息。 | -| [OH_AVScreenCapture_ReleaseAudioBuffer](_a_v_screen_capture.md#oh_avscreencapture_releaseaudiobuffer) (struct OH_AVScreenCapture \*capture, OH_AudioCaptureSourceType type) | 调用接口释放指定screencapture实例中的音频数据。 | -| [OH_AVScreenCapture_ReleaseVideoBuffer](_a_v_screen_capture.md#oh_avscreencapture_releasevideobuffer) (struct OH_AVScreenCapture \*capture) |调用接口释放指定screencapture实例中的视频数据。| -| [OH_AVScreenCapture_SetCallback](_a_v_screen_capture.md#oh_avscreencapture_setcallback) (struct OH_AVScreenCapture \*capture, struct OH_AVScreenCaptureCallback callback) | 设置回调接口通过设置监听,可以监听到调用过程中的错误信息,以及是否有可用的视频buffer和音频buffer | -| [OH_AVScreenCapture_Release](_a_v_screen_capture.md#oh_avscreencapture_release) (struct OH_AVScreenCapture \*capture) | 停止录制流程结束后,调用接口进行指定avscreencapture实例的释放。 | -| [OH_AVScreenCapture_SetMicrophoneEnabled](_a_v_screen_capture.md#oh_avscreencapture_setmicrophoneenabled) (struct OH_AVScreenCapture \*capture, bool isMicrophone) | 设置麦克风在屏幕录制期间是否启用。 | \ No newline at end of file diff --git a/zh-cn/application-dev/reference/native-apis/native__avscreen_capture_base_8h.md b/zh-cn/application-dev/reference/native-apis/native__avscreen_capture_base_8h.md deleted file mode 100644 index afc562bb84..0000000000 --- a/zh-cn/application-dev/reference/native-apis/native__avscreen_capture_base_8h.md +++ /dev/null @@ -1,52 +0,0 @@ -# native_avscreen_capture_base.h - -## 概述 - -声明运行屏幕录制通用的结构体、字符常量、枚举 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -**相关模块:** - -[AVScreenCapture](_a_v_screen_capture.md) - -## 汇总 - - -### 结构体 - -| 名称 | 描述 | -| -------- | -------- | -| [OH_AudioCaptureInfo](_a_v_screen_capture_base.md#oh_audiocaptureinfo) | 定义音频录制audiocapture实例的描述信息。 | -| [OH_AudioEncInfo](_a_v_screen_capture_base.md#oh_audioencinfo) | 定义音频的编码数据的描述信息。 | -| [OH_AudioInfo](_a_v_screen_capture_base.md#oh_audioinfo) | 定义屏幕录制时音频的描述信息。 | -| [OH_VideoCaptureInfo](_a_v_screen_capture_base.md#oh_videocaptureinfo) | 定义屏幕录制中视频录制capture的描述信息。 | -| [OH_VideoEncInfo](_a_v_screen_capture_base.md#oh_videoencinfo) | 定义屏幕录制中视频的编码数据描述信息。 | -| [OH_VideoInfo](_a_v_screen_capture_base.md#oh_videoinfo) | 定义屏幕录制时视频的描述信息。 | -| [OH_AVScreenCaptureConfig](_a_v_screen_capture_base.md#oh_avscreencaptureconfig) | 定义整体avscreencapture的配置信息。 | -| [OH_AVScreenCaptureCallback](_a_v_screen_capture_callback.md) | 定义avscreencapture的回调信息,包含不同的回调函数类型。 | -| [OH_Rect](_a_v_screen_capture_base.md#oh_rect) | 定义录屏的宽高以及画面信息。 | -| [OH_AudioBuffer](_a_v_screen_capture_base.md#oh_audiobuffer) | 定义了音频数据的大小,类型,时间戳等配置信息。 | - -### 类型定义 -| 名称 | 描述 | -| -------- | -------- | -| (\*[OH_AVScreenCaptureOnError](_a_v_screen_capture_base.md#oh_avscreencaptureonerror)) (OH_AVScreenCapture \*capture, int32_t errorCode)| 当screencapture在运行过程中执行某一流程出现错误,则调用该函数指针并上报错误码。 | -| (\*[OH_AVScreenCaptureOnAudioBufferAvailable](_a_v_screen_capture_base.md#avscreencaptureonaudiobufferavailable)) (OH_AVScreenCapture \*capture, bool isReady, OH_AudioCaptureSourceType type)| 当screencapture在运行,音频缓冲可用时,调用该函数指针并更新状态信息。 | -| (\*[OH_AVScreenCaptureOnVideoBufferAvailable](_a_v_screen_capture_base.md#avscreencaptureonvideobufferavailable)) (OH_AVScreenCapture \*capture, bool isReady)| 当screencapture在运行,视频缓冲可用时,调用该函数指针并更新状态信息。 | - -### 枚举 - -| 名称 | 描述 | -| -------- | -------- | -| [OH_CaptureMode](_a_v_screen_capture_base.md#oh_capturemode) {
**OH_CAPTURE_HOME_SCREEN** = 0,**OH_CAPTURE_SPECIFIED_SCREEN** = 1, **OH_CAPTURE_SPECIFIED_WINDOW** = 2, **OH_CAPTURE_INVAILD** = -1
} | 屏幕录制的不同模式。 | -| [OH_AudioCaptureSourceType](_a_v_screen_capture_base.md#oh_audiocapturesourcetype) {
**OH_SOURCE_INVALID** = -1, **OH_SOURCE_DEFAULT** = 0, **OH_MIC** = 1, **OH_ALL_PLAYBACK** = 2, **OH_APP_PLAYBACK** = 3
} | 屏幕录制音频的不同source类型。 | -| [OH_AudioCodecFormat](_a_v_screen_capture_base.md#oh_audiocodecformat) {
**OH_AUDIO_DEFAULT** = 0, **OH_AAC_LC** = 3, **OH_AUDIO_CODEC_FORMAT_BUTT**,
} | 屏幕录制音频的不同的编码格式。 | -| [OH_VideoCodecFormat](_a_v_screen_capture_base.md#oh_videocodecformat) {
**OH_VIDEO_DEFAULT** = 0, **OH_H264** = 2, **OH_H265** = 4, **OH_MPEG4** = 6, **OH_VP8** = 8, **OH_VP9** = 10, **OH_VIDEO_CODEC_FORMAT_BUTT**
} | 屏幕录制视频的不同编码格式。 | -| [OH_DataType](_a_v_screen_capture_base.md#oh_datatype) {
**OH_ORIGINAL_STREAM** = 0, **OH_ENCODED_STREAM** = 1, **OH_CAPTURE_FILE** = 2, **OH_INVAILD** = -1
} | 屏幕录制流的数据格式,编码格式,以及保存文件格式等参数。 | -| [OH_VideoSourceType](_a_v_screen_capture_base.md#oh_videosourcetype) {
**OH_VIDEO_SOURCE_SURFACE_YUV** = 0, **OH_VIDEO_SOURCE_SURFACE_ES**, **OH_VIDEO_SOURCE_SURFACE_RGBA**, **OH_VIDEO_SOURCE_BUTT**
} | 屏幕录制视频的不同source类型。 | -| [OH_ContainerFormatType](_a_v_screen_capture_base.md#oh_containerformattype) {
**CFT_MPEG_4A** = 0, **CFT_MPEG_4** = 1
} | 屏幕录制生成物的不同音视频格式类型。 | diff --git a/zh-cn/application-dev/reference/native-apis/native__avscreen_capture_errors_8h.md b/zh-cn/application-dev/reference/native-apis/native__avscreen_capture_errors_8h.md deleted file mode 100644 index a892eb1c68..0000000000 --- a/zh-cn/application-dev/reference/native-apis/native__avscreen_capture_errors_8h.md +++ /dev/null @@ -1,84 +0,0 @@ -# native_avscreen_capture_errors.h - -## 概述 - -声明运行屏幕录制过程中调用接口发生的错误码。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - -**相关模块:** - -[AVScreenCapture](_a_v_screen_capture.md) - -## 汇总 - -### 类型定义 - -| 名称 | 描述 | -| -------- | -------- | -| [OH_AVSCREEN_CAPTURE_ErrCode](#oh_avscreen_capture_errcode) | 屏幕录制错误码。 | - -### 枚举 - -| 名称 | 描述 | -| -------- | -------- | -| [OH_AVSCREEN_CAPTURE_ErrCode](#oh_avscreen_capture_errcode) {
**AV_SCREEN_CAPTURE_ERR_BASE** = 0, **AV_SCREEN_CAPTURE_ERR_OK** = **AV_SCREEN_CAPTURE_ERR_BASE**, **AV_SCREEN_CAPTURE_ERR_NO_MEMORY** = **AV_SCREEN_CAPTURE_ERR_BASE** + 1, **AV_SCREEN_CAPTURE_ERR_OPERATE_NOT_PERMIT** = **AV_SCREEN_CAPTURE_ERR_BASE** + 2, **AV_SCREEN_CAPTURE_ERR_INVALID_VAL** = **AV_SCREEN_CAPTURE_ERR_BASE** + 3, **AV_SCREEN_CAPTURE_ERR_IO** = **AV_SCREEN_CAPTURE_ERR_BASE** + 4, **AV_SCREEN_CAPTURE_ERR_TIMEOUT** = **AV_SCREEN_CAPTURE_ERR_BASE** + 5, **AV_SCREEN_CAPTURE_ERR_UNKNOWN** = **AV_SCREEN_CAPTURE_ERR_BASE** + 6, **AV_SCREEN_CAPTURE_ERR_SERVICE_DIED** = **AV_SCREEN_CAPTURE_ERR_BASE** + 7, **AV_SCREEN_CAPTURE_ERR_INVALID_STATE** = **AV_SCREEN_CAPTURE_ERR_BASE** + 8, **AV_SCREEN_CAPTURE_ERR_UNSUPPORT** = **AV_SCREEN_CAPTURE_ERR_BASE** + 9, **AV_SCREEN_CAPTURE_ERR_EXTEND_START** = **AV_SCREEN_CAPTURE_ERR_BASE** + 100
} | 屏幕录制进行过程中产生的不同错误码类型。 | - - -## 类型定义说明 - - -### OH_AVSCREEN_CAPTURE_ErrCode - - -``` -typedef enum OH_AVSCREEN_CAPTURE_ErrCode OH_AVSCREEN_CAPTURE_ErrCode -``` - -**描述:** - -屏幕录制错误码。 - -\@syscap SystemCapability.Multimedia.Media.AVScreenCapture - -**起始版本:** - -10 - - -## 枚举类型说明 - -### OH_AVSCREEN_CAPTURE_ErrCode - -``` -enum OH_AVSCREEN_CAPTURE_ErrCode -``` - -**描述:** - -屏幕录制操作错误码 - -\@syscap SystemCapability.Multimedia.Media.Core - -**起始版本:** - -10 - -| 枚举值 | 描述 | -| -------- | -------- | -| AV_SCREEN_CAPTURE_ERR_BASE | basic error mask for screen recording. | -| AV_SCREEN_CAPTURE_ERR_OK | the operation completed successfully. | -| AV_SCREEN_CAPTURE_ERR_NO_MEMORY | no memory. | -| AV_SCREEN_CAPTURE_ERR_OPERATE_NOT_PERMIT | opertation not be permitted. | -| AV_SCREEN_CAPTURE_ERR_INVALID_VAL | invalid argument. | -| AV_SCREEN_CAPTURE_ERR_IO | IO error. | -| AV_SCREEN_CAPTURE_ERR_TIMEOUT | network timeout. | -| AV_SCREEN_CAPTURE_ERR_UNKNOWN | unknown error. | -| AV_SCREEN_CAPTURE_ERR_SERVICE_DIED | media service died. | -| AV_SCREEN_CAPTURE_ERR_INVALID_STATE | the state is not support this operation. | -| AV_SCREEN_CAPTURE_ERR_UNSUPPORT | unsupport interface. | -| AV_SCREEN_CAPTURE_ERR_EXTEND_START | extend err start. | \ No newline at end of file -- GitLab