diff --git a/zh-cn/application-dev/reference/native-apis/Readme-CN.md b/zh-cn/application-dev/reference/native-apis/Readme-CN.md index ca14570f8c6c8989b36fa8fc5ee57f81de78a93f..dfc4354726cbe3b25cb861b1a3c851132e166791 100644 --- a/zh-cn/application-dev/reference/native-apis/Readme-CN.md +++ b/zh-cn/application-dev/reference/native-apis/Readme-CN.md @@ -24,6 +24,7 @@ - [AVDemuxer](_a_v_demuxer.md) - [AVSource](_a_v_source.md) - [OHAudio](_o_h_audio.md) + - [AVScreenCapture](_a_v_screen_capture.md) - [HuksKeyApi](_huks_key_api.md) - [HuksParamSetApi](_huks_param_set_api.md) - [HuksTypeApi](_huks_type_api.md) @@ -85,6 +86,9 @@ - [native_audiorenderer.h](native__audiorenderer_8h.md) - [native_audiostream_base.h](native__audiostream__base_8h.md) - [native_audiostreambuilder.h](native__audiostreambuilder_8h.md) + - [native_avscreen_capture.h](native__avscreen__capture_8h.md) + - [native_avscreen_capture_base.h](native__avscreen__capture__base_8h.md) + - [native_avscreen_capture_errors.h](native__avscreen__capture__errors_8h.md) - [native_huks_api.h](native__huks__api_8h.md) - [native_huks_param.h](native__huks__param_8h.md) - [native_huks_type.h](native__huks__type_8h.md) @@ -142,6 +146,17 @@ - [OH_AVRange](_o_h___a_v_range.md) - [OH_AudioCapturer_Callbacks_Struct](_o_h___audio_capturer___callbacks___struct.md) - [OH_AudioRenderer_Callbacks_Struct](_o_h___audio_renderer___callbacks___struct.md) + - [OH_AudioBuffer](_o_h___audio_buffer.md) + - [OH_AudioCaptureInfo](_o_h___audio_capture_info.md) + - [OH_AudioEncInfo](_o_h___audio_enc_info.md) + - [OH_AudioInfo](_o_h___audio_info.md) + - [OH_AVScreenCaptureCallback](_o_h___a_v_screen_capture_callback.md) + - [OH_AVScreenCaptureConfig](_o_h___a_v_screen_capture_config.md) + - [OH_RecorderInfo](_o_h___recorder_info.md) + - [OH_Rect](_o_h___rect.md) + - [OH_VideoCaptureInfo](_o_h___video_capture_info.md) + - [OH_VideoEncInfo](_o_h___video_enc_info.md) + - [OH_VideoInfo](_o_h___video_info.md) - [OH_Huks_Blob](_o_h___huks___blob.md) - [OH_Huks_CertChain](_o_h___huks___cert_chain.md) - [OH_Huks_KeyInfo](_o_h___huks___key_info.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 new file mode 100644 index 0000000000000000000000000000000000000000..86dc7b894acebe6c64c92b6fe1f10c90419f7881 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_a_v_screen_capture.md @@ -0,0 +1,1044 @@ +# AVScreenCapture + + +## 概述 + +调用本模块下的接口,应用可以完成屏幕录制的功能。 + +**系统能力**:SystemCapability.Multimedia.Media.AVScreenCapture + +**起始版本:** + +10 + + +## 汇总 + + +### 文件 + +| 名称 | 描述 | +| -------- | -------- | +| [native_avscreen_capture.h](native__avscreen__capture_8h.md) | 声明用于构造屏幕录制对象的Native API。
**引用文件**:
**库**:libnative_avscreen_capture.so | +| [native_avscreen_capture_base.h](native__avscreen__capture__base_8h.md) | 声明用于运行屏幕录制通用的结构体、字符常量、枚举。
**引用文件**:
**库**:libnative_avscreen_capture.so | +| [native_avscreen_capture_errors.h](native__avscreen__capture__errors_8h.md) | 声明用于运行屏幕录制过程中接口调用的错误码说明。
**引用文件**:
**库**:libnative_avscreen_capture.so | + + +### 结构体 + +| 名称 | 描述 | +| -------- | -------- | +| [OH_AudioCaptureInfo](_o_h___audio_capture_info.md) | 音频录制信息。 | +| [OH_AudioEncInfo](_o_h___audio_enc_info.md) | 音频编码信息。
**说明:** 预留接口,将在后续版本提供。 | +| [OH_AudioInfo](_o_h___audio_info.md) | 音频录制参数。 | +| [OH_VideoCaptureInfo](_o_h___video_capture_info.md) | 视频采集信息。 | +| [OH_VideoEncInfo](_o_h___video_enc_info.md) | 视频编码信息。
**说明:** 预留接口,将在后续版本提供。| +| [OH_VideoInfo](_o_h___video_info.md) | 视频录制参数。 | +| [OH_RecorderInfo](_o_h___recorder_info.md) | 录制文件信息。
**说明:** 预留接口,将在后续版本提供。| +| [OH_AVScreenCaptureConfig](_o_h___a_v_screen_capture_config.md) | 屏幕录制配置参数。 | +| [OH_AVScreenCaptureCallback](_o_h___a_v_screen_capture_callback.md) | OH_AVScreenCapture中所有异步回调函数指针的集合。 | +| [OH_Rect](_o_h___rect.md) | 定义录屏界面的宽高以及画面信息。 | +| [OH_AudioBuffer](_o_h___audio_buffer.md) | 定义了音频数据的大小,类型,时间戳等配置信息。 | + + +### 类型定义 + +| 名称 | 描述 | +| -------- | -------- | +| [OH_NativeBuffer](#oh_nativebuffer) | 提供录屏的视频原始码流类。 | +| [OH_AVScreenCapture](#oh_avscreencapture) | 通过OH_AVScreenCapture可以获取视频与音频的原始码流。 | +| [OH_CaptureMode](#oh_capturemode) | 枚举,表示屏幕录制的不同模式。 | +| [OH_AudioCaptureSourceType](#oh_audiocapturesourcetype) | 枚举,表示屏幕录制时的音频源类型。 | +| [OH_AudioCodecFormat](#oh_audiocodecformat) | 枚举,表示音频编码格式。 | +| [OH_VideoCodecFormat](#oh_videocodecformat) | 枚举,表示视频编码格式。 | +| [OH_DataType](#oh_datatype) | 枚举,表示屏幕录制流的数据格式。 | +| [OH_VideoSourceType](#oh_videosourcetype) | 枚举,表示视频源格式。 | +| [OH_ContainerFormatType](#oh_containerformattype) | 枚举,表示屏幕录制生成的文件类型。
**说明:** 预留接口,将在后续版本提供。 | +| [OH_AudioCaptureInfo](#oh_audiocaptureinfo) | 音频录制信息。 | +| [OH_AudioEncInfo](#oh_audioencinfo) | 音频编码信息。
**说明:** 预留接口,将在后续版本提供。| +| [OH_AudioInfo](#oh_audioinfo) | 音频录制参数。 | +| [OH_VideoCaptureInfo](#oh_videocaptureinfo) | 视频采集信息。 | +| [OH_VideoEncInfo](#oh_videoencinfo) | 视频编码信息。
**说明:** 预留接口,将在后续版本提供。 | +| [OH_VideoInfo](#oh_videoinfo) | 视频录制参数。 | +| [OH_RecorderInfo](#oh_recorderinfo) | 录制文件信息。 | +| [OH_AVScreenCaptureConfig](#oh_avscreencaptureconfig) | 屏幕录制配置参数。 | +| (\*[OH_AVScreenCaptureOnError](#oh_avscreencaptureonerror)) ([OH_AVScreenCapture](#oh_avscreencapture) \*capture, int32_t errorCode) | 当OH_AVScreenCapture实例运行出错时,将调用函数指针。 | +| (\*[OH_AVScreenCaptureOnAudioBufferAvailable](#oh_avscreencaptureonaudiobufferavailable)) ([OH_AVScreenCapture](#oh_avscreencapture) \*capture, bool isReady, [OH_AudioCaptureSourceType](#oh_audiocapturesourcetype) type) | 当OH_AVScreenCapture操作期间音频缓冲区可用时,将调用函数指针。 | +| (\*[OH_AVScreenCaptureOnVideoBufferAvailable](#oh_avscreencaptureonvideobufferavailable)) ([OH_AVScreenCapture](#oh_avscreencapture) \*capture, bool isReady) | 当OH_AVScreenCapture操作期间视频缓冲区可用时,将调用函数指针。 | +| [OH_AVScreenCaptureCallback](#oh_avscreencapturecallback) | OH_AVScreenCapture中所有异步回调函数指针的集合。 | +| [OH_Rect](#oh_rect) | 定义录屏界面的宽高以及画面信息。 | +| [OH_AudioBuffer](#oh_audiobuffer) | 定义了音频数据的大小,类型,时间戳等配置信息。 | +| [OH_AVSCREEN_CAPTURE_ErrCode](#oh_avscreen_capture_errcode) | 屏幕录制过程中产生的不同结果码。 | + + +### 枚举 + +| 名称 | 描述 | +| -------- | -------- | +| [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
} | 枚举,表示屏幕录制时的音频源类型。 | +| [OH_AudioCodecFormat](#oh_audiocodecformat) { OH_AUDIO_DEFAULT = 0, OH_AAC_LC = 3, OH_AUDIO_CODEC_FORMAT_BUTT } | 枚举,表示音频编码格式。 | +| [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
} | 枚举,表示视频编码格式。 | +| [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 } | 枚举,表示视频源格式。 | +| [OH_ContainerFormatType](#oh_containerformattype) { CFT_MPEG_4A = 0, CFT_MPEG_4 = 1 } | 枚举,表示屏幕录制生成的文件类型。
**说明:** 预留接口,将在后续版本提供。 | +| [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_AVScreenCapture_Create](#oh_avscreencapture_create) (void) | 实例化对象,创建OH_AVScreenCapture。 | +| [OH_AVScreenCapture_Init](#oh_avscreencapture_init) (struct [OH_AVScreenCapture](#oh_avscreencapture) \*capture, [OH_AVScreenCaptureConfig](_o_h___a_v_screen_capture_config.md) config) | 初始化OH_AVScreenCapture相关参数。 | +| [OH_AVScreenCapture_StartScreenCapture](#oh_avscreencapture_startscreencapture) (struct [OH_AVScreenCapture](#oh_avscreencapture) \*capture) | 开始录屏,采集原始码流。调用后可以通过回调的监听(OH_AVScreenCaptureOnAudioBufferAvailable,OH_AVScreenCaptureOnVideoBufferAvailable)来监听当前是否有码流的产生。 | +| [OH_AVScreenCapture_StopScreenCapture](#oh_avscreencapture_stopscreencapture) (struct [OH_AVScreenCapture](#oh_avscreencapture) \*capture) | 结束录屏,与OH_AVScreenCapture_StartScreenCapture配合使用。调用后针对调用该接口的应用会停止录屏或屏幕共享,释放麦克风。 | +| [OH_AVScreenCapture_StartScreenRecording](#oh_avscreencapture_startscreenrecording) (struct [OH_AVScreenCapture](#oh_avscreencapture) \*capture) | 启动录屏,调用此接口,可采集编码后的码流。
**说明:** 预留接口,将在后续版本提供。 | +| [OH_AVScreenCapture_StopScreenRecording](#oh_avscreencapture_stopscreenrecording) (struct [OH_AVScreenCapture](#oh_avscreencapture) \*capture) | 停止录屏,与OH_AVScreenCapture_StartScreenRecording配合使用。
**说明:** 预留接口,将在后续版本提供。| +| [OH_AVScreenCapture_AcquireAudioBuffer](#oh_avscreencapture_acquireaudiobuffer) (struct [OH_AVScreenCapture](#oh_avscreencapture) \*capture, [OH_AudioBuffer](_o_h___audio_buffer.md) \*\*audiobuffer, [OH_AudioCaptureSourceType](#oh_audiocapturesourcetype) type) | 获取音频buffer,应用在调用时,需要对audiobuffer分配对应结构体大小的内存,否则会影响拿到音频buffer的获取。 | +| [OH_AVScreenCapture_AcquireVideoBuffer](#oh_avscreencapture_acquirevideobuffer) (struct [OH_AVScreenCapture](#oh_avscreencapture) \*capture, int32_t \*fence, int64_t \*timestamp, struct [OH_Rect](_o_h___rect.md) \*region) | 获取视频buffer,应用在调用时,通过此接口来获取到视频的buffer以及时间戳等信息。 | +| [OH_AVScreenCapture_ReleaseAudioBuffer](#oh_avscreencapture_releaseaudiobuffer) (struct [OH_AVScreenCapture](#oh_avscreencapture) \*capture, [OH_AudioCaptureSourceType](#oh_audiocapturesourcetype) type) | 根据音频类型释放buffer。 | +| [OH_AVScreenCapture_ReleaseVideoBuffer](#oh_avscreencapture_releasevideobuffer) (struct [OH_AVScreenCapture](#oh_avscreencapture) \*capture) | 根据视频类型释放buffer。 | +| [OH_AVScreenCapture_SetCallback](#oh_avscreencapture_setcallback) (struct [OH_AVScreenCapture](#oh_avscreencapture) \*capture, struct [OH_AVScreenCaptureCallback](_o_h___a_v_screen_capture_callback.md) callback) | 设置监听接口,通过设置监听,可以监听到调用过程中的错误信息,以及是否有可用的视频buffer和音频buffer。 | +| [OH_AVScreenCapture_Release](#oh_avscreencapture_release) (struct [OH_AVScreenCapture](#oh_avscreencapture) \*capture) | 释放创建的OH_AVScreenCapture实例,对应OH_AVScreenCapture_Create。 | +| [OH_AVScreenCapture_SetMicrophoneEnabled](#oh_avscreencapture_setmicrophoneenabled) (struct [OH_AVScreenCapture](#oh_avscreencapture) \*capture, bool isMicrophone) | 设置麦克风开关。 | + + +## 类型定义说明 + + +### OH_AudioBuffer + +``` +typedef struct OH_AudioBuffer OH_AudioBuffer +``` + +**描述:** + +定义了音频数据的大小,类型,时间戳等配置信息。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_AudioCaptureInfo + +``` +typedef struct OH_AudioCaptureInfo OH_AudioCaptureInfo +``` + +**描述:** + +音频录制信息。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_AudioCaptureSourceType + +``` +typedef enum OH_AudioCaptureSourceType OH_AudioCaptureSourceType +``` + +**描述:** + +枚举,表示屏幕录制时的音频源类型。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_AudioCodecFormat + +``` +typedef enum OH_AudioCodecFormat OH_AudioCodecFormat +``` + +**描述:** + +枚举,表示音频编码格式。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_AudioEncInfo + +``` +typedef struct OH_AudioEncInfo OH_AudioEncInfo +``` + +**描述:** + +音频编码信息。 + +> **说明:** +> +> 预留接口,将在后续版本提供。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_AudioInfo + +``` +typedef struct OH_AudioInfo OH_AudioInfo +``` + +**描述:** + +音频录制参数。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_AVSCREEN_CAPTURE_ErrCode + +``` +typedef enum OH_AVSCREEN_CAPTURE_ErrCode OH_AVSCREEN_CAPTURE_ErrCode +``` + +**描述:** + +屏幕录制过程中产生的不同结果码。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_AVScreenCapture + +``` +typedef struct OH_AVScreenCapture OH_AVScreenCapture +``` + +**描述:** + +通过OH_AVScreenCapture可以获取视频与音频的原始码流。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_AVScreenCaptureCallback + +``` +typedef struct OH_AVScreenCaptureCallback OH_AVScreenCaptureCallback +``` + +**描述:** + +OH_AVScreenCapture中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVScreenCapture实例中, 并处理回调上报的信息,以保证OH_AVScreenCapture的正常运行。 + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| onError | 监控录屏调用操作错误,请参见[OH_AVScreenCaptureOnError](#oh_avscreencaptureonerror)。 | +| onAudioBufferAvailable | 监控音频码流是否有数据产生,请参见[OH_AVScreenCaptureOnAudioBufferAvailable](#oh_avscreencaptureonaudiobufferavailable)。 | +| onVideoBufferAvailable | 监控视频码流是否有数据产生,请参见[OH_AVScreenCaptureOnVideoBufferAvailable](#oh_avscreencaptureonvideobufferavailable)。 | + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_AVScreenCaptureConfig + +``` +typedef struct OH_AVScreenCaptureConfig OH_AVScreenCaptureConfig +``` + +**描述:** + +屏幕录制配置参数。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_AVScreenCaptureOnAudioBufferAvailable + +``` +typedef void(* OH_AVScreenCaptureOnAudioBufferAvailable) (OH_AVScreenCapture *capture, bool isReady, OH_AudioCaptureSourceType type) +``` + +**描述:** + +当OH_AVScreenCapture操作期间音频缓冲区可用时,将调用函数指针。 + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| capture | 指向OH_AVScreenCapture实例的指针。 | +| isReady | 音频缓冲区是否可用。 | +| type | 音频源类型。 | + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_AVScreenCaptureOnError + +``` +typedef void(* OH_AVScreenCaptureOnError) (OH_AVScreenCapture *capture, int32_t errorCode) +``` + +**描述:** + +当OH_AVScreenCapture实例运行出错时,将调用函数指针。 + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| capture | 指向OH_AVScreenCapture实例的指针。 | +| errorCode | 指定错误码。 | + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_AVScreenCaptureOnVideoBufferAvailable + +``` +typedef void(* OH_AVScreenCaptureOnVideoBufferAvailable) (OH_AVScreenCapture *capture, bool isReady) +``` + +**描述:** + +当OH_AVScreenCapture操作期间视频缓冲区可用时,将调用函数指针。 + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| capture | 指向OH_AVScreenCapture实例的指针。 | +| isReady | 视频缓冲区是否可用。 | + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_CaptureMode + +``` +typedef enum OH_CaptureModeOH_CaptureMode +``` + +**描述:** + +枚举,表示屏幕录制的不同模式。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_ContainerFormatType + +``` +typedef enum OH_ContainerFormatType OH_ContainerFormatType +``` + +**描述:** + +枚举,表示屏幕录制生成的文件类型。 + +> **说明:** +> +> 预留接口,将在后续版本提供。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_DataType + +``` +typedef enum OH_DataType OH_DataType +``` + +**描述:** + +枚举,表示屏幕录制流的数据格式。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_NativeBuffer + +``` +typedef struct OH_NativeBuffer OH_NativeBuffer +``` + +**描述:** + +提供录屏的视频原始码流类。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_RecorderInfo + +``` +typedef struct OH_RecorderInfo OH_RecorderInfo +``` + +**描述:** + +录制文件信息。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_Rect + +``` +typedef struct OH_Rect OH_Rect +``` + +**描述:** + +定义录屏界面的宽高以及画面信息。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_VideoCaptureInfo + +``` +typedef struct OH_VideoCaptureInfo OH_VideoCaptureInfo +``` + +**描述:** + +视频采集信息。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_VideoCodecFormat + +``` +typedef enum OH_VideoCodecFormat OH_VideoCodecFormat +``` + +**描述:** + +枚举,表示视频编码格式。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_VideoEncInfo + +``` +typedef struct OH_VideoEncInfo OH_VideoEncInfo +``` + +**描述:** + +视频编码参数。 + +> **说明:** +> +> 预留接口,将在后续版本提供。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_VideoInfo + +``` +typedef struct OH_VideoInfo OH_VideoInfo +``` + +**描述:** + +视频录制参数。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +### OH_VideoSourceType + +``` +typedef enum OH_VideoSourceType OH_VideoSourceType +``` + +**描述:** + +枚举,表示视频源格式。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + + +## 枚举类型说明 + + +### OH_AudioCaptureSourceType + +``` +enum OH_AudioCaptureSourceType +``` + +**描述:** + +枚举,表示屏幕录制时的音频源类型。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_SOURCE_INVALID | 无效音频源。 | +| OH_SOURCE_DEFAULT | 默认音频源,默认为MIC。 | +| OH_MIC | 麦克风录制的外部音频流。 | +| OH_ALL_PLAYBACK | 系统播放的所有内部音频流。 | +| OH_APP_PLAYBACK | 指定应用播放的内部音频流。 | + + +### OH_AudioCodecFormat + +``` +enum OH_AudioCodecFormat +``` + +**描述:** + +枚举,表示音频编码格式。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_AUDIO_DEFAULT | 默认音频编码,默认为AAC_LC。 | +| OH_AAC_LC | AAC_LC音频编码。 | +| OH_AUDIO_CODEC_FORMAT_BUTT | 无效格式。 | + + +### OH_AVSCREEN_CAPTURE_ErrCode + +``` +enum OH_AVSCREEN_CAPTURE_ErrCode +``` + +**描述:** + +屏幕录制过程中产生的不同结果码。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +| 枚举值 | 描述 | +| -------- | -------- | +| AV_SCREEN_CAPTURE_ERR_BASE | 接口调用错误返回的基础值。 | +| AV_SCREEN_CAPTURE_ERR_OK | 操作成功。 | +| AV_SCREEN_CAPTURE_ERR_NO_MEMORY | 内存不足。 | +| AV_SCREEN_CAPTURE_ERR_OPERATE_NOT_PERMIT | 不允许操作。 | +| AV_SCREEN_CAPTURE_ERR_INVALID_VAL | 无效参数。 | +| AV_SCREEN_CAPTURE_ERR_IO | 输入输出流异常。 | +| AV_SCREEN_CAPTURE_ERR_TIMEOUT | 网络超时。 | +| AV_SCREEN_CAPTURE_ERR_UNKNOWN | 未知错误。 | +| AV_SCREEN_CAPTURE_ERR_SERVICE_DIED | 媒体服务已终止。 | +| AV_SCREEN_CAPTURE_ERR_INVALID_STATE | 当前状态不支持此操作。 | +| AV_SCREEN_CAPTURE_ERR_UNSUPPORT | 不支持的接口。 | +| AV_SCREEN_CAPTURE_ERR_EXTEND_START | 预期之外的错误。 | + + +### OH_CaptureMode + +``` +enum OH_CaptureMode +``` + +**描述:** + +枚举,表示屏幕录制的不同模式。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_CAPTURE_HOME_SCREEN | 录制主屏幕。 | +| OH_CAPTURE_SPECIFIED_SCREEN | 录制指定屏幕。
**说明:** 预留接口,将在后续版本提供。 | +| OH_CAPTURE_SPECIFIED_WINDOW | 录制指定窗口。
**说明:** 预留接口,将在后续版本提供。| +| OH_CAPTURE_INVAILD | 无效模式。 | + + +### OH_ContainerFormatType + +``` +enum OH_ContainerFormatType +``` + +**描述:** + +枚举,表示屏幕录制生成的文件类型。 + +> **说明:** +> +> 预留接口,将在后续版本提供。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +| 枚举值 | 描述 | +| -------- | -------- | +| CFT_MPEG_4A | 音频格式 m4a。 | +| CFT_MPEG_4 | 视频格式 mp4。 | + + +### OH_DataType + +``` +enum OH_DataType +``` + +**描述:** + +枚举,表示屏幕录制流的数据格式。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_ORIGINAL_STREAM | 原始流格式,如YUV/RGBA/PCM等。 | +| OH_ENCODED_STREAM | 编码格式,如H264/AAC等。
**说明:** 预留接口,将在后续版本提供。 | +| OH_CAPTURE_FILE | 保存文件格式,支持mp4。
**说明:** 预留接口,将在后续版本提供。 | +| OH_INVAILD | 无效格式。 | + + +### OH_VideoCodecFormat + +``` +enum OH_VideoCodecFormat +``` + +**描述:** + +枚举,表示视频编码格式。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_VIDEO_DEFAULT | 默认视频编码,默认为H.264。 | +| OH_H264 | H.264 | +| OH_H265 | H.265/HEVC | +| OH_MPEG4 | MPEG4 | +| OH_VP8 | VP8 | +| OH_VP9 | VP9 | +| OH_VIDEO_CODEC_FORMAT_BUTT | 无效格式。 | + + +### OH_VideoSourceType + +``` +enum OH_VideoSourceType +``` + +**描述:** + +枚举,表示视频源格式。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_VIDEO_SOURCE_SURFACE_YUV | YUV格式。 | +| OH_VIDEO_SOURCE_SURFACE_ES | raw格式。 | +| OH_VIDEO_SOURCE_SURFACE_RGBA | RGBA格式。 | +| OH_VIDEO_SOURCE_BUTT | 无效格式。 | + + +## 函数说明 + + +### OH_AVScreenCapture_AcquireAudioBuffer() + +``` +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_AcquireAudioBuffer (struct OH_AVScreenCapture * capture, OH_AudioBuffer ** audiobuffer, OH_AudioCaptureSourceType type ) +``` + +**描述:** + +获取音频buffer,应用在调用时,需要对audiobuffer分配对应结构体大小的内存,否则会影响拿到音频buffer的获取。 + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| capture | 指向OH_AVScreenCapture实例的指针。 | +| audiobuffer | 保存音频buffer的结构体,通过该结构体获取到音频buffer以及buffer的时间戳等信息。 | +| type | 音频buffer的类型,区分是麦克风录制的外部流还是系统内部播放音频的内录流,详情请参阅[OH_AudioCaptureSourceType](#oh_audiocapturesourcetype) | + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +**返回:** + +执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](#oh_avscreen_capture_errcode)。 + + +### 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的释放。 + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| capture | 指向OH_AVScreenCapture实例的指针。 | +| fence | 用于同步的显示相关参数信息。 | +| timestamp | 视频帧的时间戳。 | +| region | 视频显示相关的坐标信息。 | + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +**返回:** + +执行成功返回OH_NativeBuffer对象,通过OH_NativeBuffer对象相关接口可以获取到视频buffer和分辨率等信息参数。 + + +### OH_AVScreenCapture_Create() + +``` +struct OH_AVScreenCapture* OH_AVScreenCapture_Create (void ) +``` + +**描述:** + +实例化对象,创建OH_AVScreenCapture。可以通过调用OH_AVScreenCapture_Release释放实例。 + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +**返回:** + +返回一个指向OH_AVScreenCapture实例的指针。 + + +### 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),否则会初始化失败导致无法正常录屏。 + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| capture | 指向OH_AVScreenCapture实例的指针。 | +| config | 录屏初始化相关参数。 | + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +**返回:** + +执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅 [OH_AVSCREEN_CAPTURE_ErrCode](#oh_avscreen_capture_errcode)。 + + +### OH_AVScreenCapture_Release() + +``` +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_Release (struct OH_AVScreenCapture * capture) +``` + +**描述:** + +释放创建的OH_AVScreenCapture实例,对应OH_AVScreenCapture_Create。 + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| capture | 指向OH_AVScreenCapture实例的指针。 | + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +**返回:** + +执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](#oh_avscreen_capture_errcode)。 + + +### OH_AVScreenCapture_ReleaseAudioBuffer() + +``` +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseAudioBuffer (struct OH_AVScreenCapture * capture, OH_AudioCaptureSourceType type ) +``` + +**描述:** + +根据音频类型释放buffer。当某一帧音频buffer使用完成后,调用此接口进行释放对应的音频buffer。 + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| capture | 指向OH_AVScreenCapture实例的指针。 | +| type | 音频buffer的类型,区分麦克风录制的外部流还是系统内部播放音频的内录流。 | + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +**返回:** + +执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](#oh_avscreen_capture_errcode)。 + + +### OH_AVScreenCapture_ReleaseVideoBuffer() + +``` +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseVideoBuffer (struct OH_AVScreenCapture * capture) +``` + +**描述:** + +根据视频类型释放buffer。当某一帧视频buffer使用完成后,调用此接口进行释放对应的视频buffer。 + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| capture | 指向OH_AVScreenCapture实例的指针。 | + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +**返回:** + +执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](#oh_avscreen_capture_errcode)。 + + +### OH_AVScreenCapture_SetCallback() + +``` +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetCallback (struct OH_AVScreenCapture * capture, struct OH_AVScreenCaptureCallback callback ) +``` + +**描述:** + +设置监听接口,通过设置监听,可以监听到调用过程中的错误信息,以及是否有可用的视频buffer和音频buffer。 + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| capture | 指向OH_AVScreenCapture实例的指针。 | +| callback | [OH_AVScreenCaptureCallback](_o_h___a_v_screen_capture_callback.md)的结构体,保存相关回调函数指针。 | + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +**返回:** + +执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](#oh_avscreen_capture_errcode)。 + + +### OH_AVScreenCapture_SetMicrophoneEnabled() + +``` +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetMicrophoneEnabled (struct OH_AVScreenCapture * capture, bool isMicrophone ) +``` + +**描述:** + +设置麦克风开关。当isMicrophone为true时,则打开麦克风,通过调用OH_AVScreenCapture_StartScreenRecording和OH_AVScreenCapture_AcquireAudioBuffer可以正常获取到音频的麦克风原始PCM数据;isMicrophone为false时,获取到的音频数据为无声数据。 + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| capture | 指向OH_AVScreenCapture实例的指针。 | +| isMicrophone | 麦克风开关参数。 | + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +**返回:** + +执行成功返回AV_SCREEN_CAPTURE_ERR_OK,否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](#oh_avscreen_capture_errcode)。 + + +### 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)的接口来获取录屏的原始码流 + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| capture | 指向OH_AVScreenCapture实例的指针。 | + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +**返回:** + +执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](#oh_avscreen_capture_errcode)。 + + +### OH_AVScreenCapture_StartScreenRecording() + +``` +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StartScreenRecording (struct OH_AVScreenCapture * capture) +``` + +**描述:** + +启动录屏,调用此接口,可采集编码后的码流。 + +> **说明:** +> +> 预留接口,将在后续版本提供。 + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| capture | 指向OH_AVScreenCapture实例的指针。 | + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +**返回:** + +执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](#oh_avscreen_capture_errcode)。 + + +### OH_AVScreenCapture_StopScreenCapture() + +``` +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StopScreenCapture (struct OH_AVScreenCapture * capture) +``` + +**描述:** + +结束录屏,与OH_AVScreenCapture_StartScreenCapture配合使用。调用后针对调用该接口的应用会停止录屏或屏幕共享,释放麦克风。 + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| capture | 指向OH_AVScreenCapture实例的指针。 | + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +**返回:** + +执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](#oh_avscreen_capture_errcode)。 + + +### OH_AVScreenCapture_StopScreenRecording() + +``` +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StopScreenRecording (struct OH_AVScreenCapture * capture) +``` + +**描述:** + +停止录屏,与OH_AVScreenCapture_StartScreenRecording配合使用。 + +> **说明:** +> +> 预留接口,将在后续版本提供。 + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| capture | 指向OH_AVScreenCapture实例的指针。 | + +**系统能力:** + +SystemCapability.Multimedia.Media.AVScreenCapture + +**返回:** + +执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅[OH_AVSCREEN_CAPTURE_ErrCode](#oh_avscreen_capture_errcode)。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___a_v_screen_capture_callback.md b/zh-cn/application-dev/reference/native-apis/_o_h___a_v_screen_capture_callback.md new file mode 100644 index 0000000000000000000000000000000000000000..cfe6924543891cea09eb514f7a463c177789e36e --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___a_v_screen_capture_callback.md @@ -0,0 +1,28 @@ +# OH_AVScreenCaptureCallback + + +## 概述 + +OH_AVScreenCapture中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVScreenCapture实例中, 并处理回调上报的信息,以保证OH_AVScreenCapture的正常运行。 + +**系统能力**:SystemCapability.Multimedia.Media.AVScreenCapture + +**起始版本:** + +10 + +**相关模块:** + +[AVScreenCapture](_a_v_screen_capture.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| **onError** | [OH_AVScreenCaptureOnError](_a_v_screen_capture.md#oh_avscreencaptureonerror) | +| **onAudioBufferAvailable** | [OH_AVScreenCaptureOnAudioBufferAvailable](_a_v_screen_capture.md#oh_avscreencaptureonaudiobufferavailable) | +| **onVideoBufferAvailable** | [OH_AVScreenCaptureOnVideoBufferAvailable](_a_v_screen_capture.md#oh_avscreencaptureonvideobufferavailable) | diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___a_v_screen_capture_config.md b/zh-cn/application-dev/reference/native-apis/_o_h___a_v_screen_capture_config.md new file mode 100644 index 0000000000000000000000000000000000000000..3ec4caaec79f9512aa89a8bd25f218bd9e89ac67 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___a_v_screen_capture_config.md @@ -0,0 +1,92 @@ +# OH_AVScreenCaptureConfig + + +## 概述 + +屏幕录制配置参数。 + +**系统能力**:SystemCapability.Multimedia.Media.AVScreenCapture + +**起始版本:** + +10 + +**相关模块:** + +[AVScreenCapture](_a_v_screen_capture.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [captureMode](#capturemode) | [OH_CaptureMode](_a_v_screen_capture.md#oh_capturemode)
屏幕录制的模式。 | +| [dataType](#datatype) | [OH_DataType](_a_v_screen_capture.md#oh_datatype)
屏幕录制流的数据格式。 | +| [audioInfo](#audioinfo) | [OH_AudioInfo](_o_h___audio_info.md)
音频录制参数。 | +| [videoInfo](#videoinfo) | [OH_VideoInfo](_o_h___video_info.md)
视频录制参数。 | +| [recorderInfo](#recorderinfo) | [OH_RecorderInfo](_o_h___recorder_info.md)
录制文件参数,当数据格式为OH_CAPTURE_FILE时,必须设置。
**说明:** 预留接口,将在后续版本提供。 | + + +## 结构体成员变量说明 + + +### audioInfo + +``` +OH_AudioInfo OH_AVScreenCaptureConfig::audioInfo +``` + +**描述:** + +音频录制参数。 + + +### captureMode + +``` +OH_CaptureMode OH_AVScreenCaptureConfig::captureMode +``` + +**描述:** + +屏幕录制的模式。 + + +### dataType + +``` +OH_DataType OH_AVScreenCaptureConfig::dataType +``` + +**描述:** + +屏幕录制流的数据格式。 + + +### recorderInfo + +``` +OH_RecorderInfo OH_AVScreenCaptureConfig::recorderInfo +``` + +**描述:** + +录制文件参数,当数据格式为OH_CAPTURE_FILE时,必须设置。 + +> **说明:** +> +> 预留接口,将在后续版本提供。 + + +### videoInfo + +``` +OH_VideoInfo OH_AVScreenCaptureConfig::videoInfo +``` + +**描述:** + +视频录制参数。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___audio_buffer.md b/zh-cn/application-dev/reference/native-apis/_o_h___audio_buffer.md new file mode 100644 index 0000000000000000000000000000000000000000..4daf7ef7d71ceb79b539f293b024005cbf681ead --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___audio_buffer.md @@ -0,0 +1,76 @@ +# OH_AudioBuffer + + +## 概述 + +定义了音频数据的大小,类型,时间戳等配置信息。 + +**系统能力**:SystemCapability.Multimedia.Media.AVScreenCapture + +**起始版本:** + +10 + +**相关模块:** + +[AVScreenCapture](_a_v_screen_capture.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [buf](#buf) | 音频buffer内存。 | +| [size](#size) | 音频buffer内存大小。 | +| [timestamp](#timestamp) | 音频buffer时间戳。 | +| [type](#type) | 音频录制源类型。 | + + +## 结构体成员变量说明 + + +### buf + +``` +uint8_t* OH_AudioBuffer::buf +``` + +**描述:** + +音频buffer内存。 + + +### size + +``` +int32_t OH_AudioBuffer::size +``` + +**描述:** + +音频buffer内存大小。 + + +### timestamp + +``` +int64_t OH_AudioBuffer::timestamp +``` + +**描述:** + +音频buffer时间戳。 + + +### type + +``` +OH_AudioCaptureSourceType OH_AudioBuffer::type +``` + +**描述:** + +音频录制源类型。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___audio_capture_info.md b/zh-cn/application-dev/reference/native-apis/_o_h___audio_capture_info.md new file mode 100644 index 0000000000000000000000000000000000000000..b7665a497bfa2a6e2017dcf40ad39ba5aa032e41 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___audio_capture_info.md @@ -0,0 +1,64 @@ +# OH_AudioCaptureInfo + + +## 概述 + +音频录制信息。 + +**系统能力**:SystemCapability.Multimedia.Media.AVScreenCapture + +**起始版本:** + +10 + +**相关模块:** + +[AVScreenCapture](_a_v_screen_capture.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [audioSampleRate](#audiosamplerate) | int32_t
音频采样率,支持列表参考**OH_AudioCapturer_GetSamplingRate**。 | +| [audioChannels](#audiochannels) | int32_t
音频声道数。 | +| [audioSource](#audiosource) | [OH_AudioCaptureSourceType](_a_v_screen_capture.md#oh_audiocapturesourcetype)
音频源。 | + + +## 结构体成员变量说明 + + +### audioChannels + +``` +int32_t OH_AudioCaptureInfo::audioChannels +``` + +**描述:** + +音频声道数。 + + +### audioSampleRate + +``` +int32_t OH_AudioCaptureInfo::audioSampleRate +``` + +**描述:** + +音频采样率,支持列表参考**OH_AudioCapturer_GetSamplingRate**。 + + +### audioSource + +``` +OH_AudioCaptureSourceType OH_AudioCaptureInfo::audioSource +``` + +**描述:** + +音频源。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___audio_enc_info.md b/zh-cn/application-dev/reference/native-apis/_o_h___audio_enc_info.md new file mode 100644 index 0000000000000000000000000000000000000000..2945534ecd12496ed85fba0c3c17890c7108f19e --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___audio_enc_info.md @@ -0,0 +1,56 @@ +# OH_AudioEncInfo + + +## 概述 + +音频编码信息。 + +> **说明:** +> +> 预留接口,将在后续版本提供。 + +**系统能力**:SystemCapability.Multimedia.Media.AVScreenCapture + +**起始版本:** + +10 + +**相关模块:** + +[AVScreenCapture](_a_v_screen_capture.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [audioBitrate](#audiobitrate) | int32_t
音频录制比特率。 | +| [audioCodecformat](#audiocodecformat) | [OH_AudioCodecFormat](_a_v_screen_capture.md#oh_audiocodecformat)
音频编码格式。 | + + +## 结构体成员变量说明 + + +### audioBitrate + +``` +int32_t OH_AudioEncInfo::audioBitrate +``` + +**描述:** + +音频录制比特率。 + + +### audioCodecformat + +``` +OH_AudioCodecFormat OH_AudioEncInfo::audioCodecformat +``` + +**描述:** + +音频编码格式。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___audio_info.md b/zh-cn/application-dev/reference/native-apis/_o_h___audio_info.md new file mode 100644 index 0000000000000000000000000000000000000000..3205263b9f3f6fb5f91305c080002c223719269c --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___audio_info.md @@ -0,0 +1,68 @@ +# OH_AudioInfo + + +## 概述 + +音频录制参数。 + +**系统能力**:SystemCapability.Multimedia.Media.AVScreenCapture + +**起始版本:** + +10 + +**相关模块:** + +[AVScreenCapture](_a_v_screen_capture.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [micCapInfo](#miccapinfo) | [OH_AudioCaptureInfo](_o_h___audio_capture_info.md)
麦克风的音频参数。 | +| [innerCapInfo](#innercapinfo) | [OH_AudioCaptureInfo](_o_h___audio_capture_info.md)
内录的音频参数。 | +| [audioEncInfo](#audioencinfo) | [OH_AudioEncInfo](_o_h___audio_enc_info.md)
音频录制信息, 当dataType为OH_ORIGINAL_STREAM时不需要设置。
**说明:** 预留接口,将在后续版本提供。 | + + +## 结构体成员变量说明 + + +### audioEncInfo + +``` +OH_AudioEncInfo OH_AudioInfo::audioEncInfo +``` + +**描述:** + +音频录制信息, 当dataType为OH_ORIGINAL_STREAM时不需要设置。 + +> **说明:** +> +> 预留接口,将在后续版本提供。 + + +### innerCapInfo + +``` +OH_AudioCaptureInfo OH_AudioInfo::innerCapInfo +``` + +**描述:** + +内录的音频参数。 + + +### micCapInfo + +``` +OH_AudioCaptureInfo OH_AudioInfo::micCapInfo +``` + +**描述:** + +麦克风的音频参数。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___recorder_info.md b/zh-cn/application-dev/reference/native-apis/_o_h___recorder_info.md new file mode 100644 index 0000000000000000000000000000000000000000..0caaa51612fb98627ef252b8166577b7351ff35b --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___recorder_info.md @@ -0,0 +1,68 @@ +# OH_RecorderInfo + + +## 概述 + +录制文件信息。 + +> **说明:** +> +> 预留接口,将在后续版本提供支持。 + +**系统能力**:SystemCapability.Multimedia.Media.AVScreenCapture + +**起始版本:** + +10 + +**相关模块:** + +[AVScreenCapture](_a_v_screen_capture.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [url](#url) | 录制文件的URL。 | +| [urlLen](#urllen) | 录制文件的URL长度。 | +| [fileFormat](#fileformat) | 录制文件的格式。 | + + +## 结构体成员变量说明 + + +### fileFormat + +``` +OH_ContainerFormatType OH_RecorderInfo::fileFormat +``` + +**描述:** + +录制文件的格式。 + + +### url + +``` +char* OH_RecorderInfo::url +``` + +**描述:** + +录制文件的URL。 + + +### urlLen + +``` +uint32_t OH_RecorderInfo::urlLen +``` + +**描述:** + +录制文件的URL长度。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___rect.md b/zh-cn/application-dev/reference/native-apis/_o_h___rect.md new file mode 100644 index 0000000000000000000000000000000000000000..601382c288e79e9065f5707bb1d0ab7d11b7f416 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___rect.md @@ -0,0 +1,76 @@ +# OH_Rect + + +## 概述 + +定义录屏界面的宽高以及画面信息。 + +**系统能力**:SystemCapability.Multimedia.Media.AVScreenCapture + +**起始版本:** + +10 + +**相关模块:** + +[AVScreenCapture](_a_v_screen_capture.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [x](#x) | int32_t
录屏界面的X坐标。 | +| [y](#y) | int32_t
录屏界面的Y坐标。 | +| [width](#width) | int32_t
录屏界面的宽度。 | +| [height](#height) | int32_t
录屏界面的高度。 | + + +## 结构体成员变量说明 + + +### height + +``` +int32_t OH_Rect::height +``` + +**描述:** + +录屏界面的高度。 + + +### width + +``` +int32_t OH_Rect::width +``` + +**描述:** + +录屏界面的宽度。 + + +### x + +``` +int32_t OH_Rect::x +``` + +**描述:** + +录屏界面的X坐标。 + + +### y + +``` +int32_t OH_Rect::y +``` + +**描述:** + +录屏界面的Y坐标。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___video_capture_info.md b/zh-cn/application-dev/reference/native-apis/_o_h___video_capture_info.md new file mode 100644 index 0000000000000000000000000000000000000000..c2a14b32f987c3cc9a53c78d84e40ae69feaf805 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___video_capture_info.md @@ -0,0 +1,111 @@ +# OH_VideoCaptureInfo + + +## 概述 + +视频采集信息。 + +**系统能力**:SystemCapability.Multimedia.Media.AVScreenCapture + +**起始版本:** + +10 + +**相关模块:** + +[AVScreenCapture](_a_v_screen_capture.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [displayId](#displayid) | uint64_t
录制物理屏id,使用该参数需要在capturemode为CAPTURE_SPECIFIED_SCREEN模式下使用。
**说明:** 预留接口,将在后续版本提供。 | +| [missionIDs](#missionids) | int32_t \*
指定窗口id列表,使用该参数需要在capturemode为CAPTURE_SPECIFIED_WINDOW模式下使用。
**说明:** 预留接口,将在后续版本提供。| +| [missionIDsLen](#missionidslen) | int32_t
指定窗口ID长度,使用该参数需要在capturemode为CAPTURE_SPECIFIED_WINDOW模式下使用。
**说明:** 预留接口,将在后续版本提供。 | +| [videoFrameWidth](#videoframewidth) | int32_t
采集视频的宽度设置。 | +| [videoFrameHeight](#videoframeheight) | int32_t
采集视频的高度设置。 | +| [videoSource](#videosource) | [OH_VideoSourceType](_a_v_screen_capture.md#oh_videosourcetype)
视频采集格式设置,目前仅支持RGBA格式。 | + + +## 结构体成员变量说明 + + +### displayId + +``` +uint64_t OH_VideoCaptureInfo::displayId +``` + +**描述:** + +录制物理屏id,使用该参数需要在capturemode为CAPTURE_SPECIFIED_SCREEN模式下使用。 + +> **说明:** +> +> 预留接口,将在后续版本提供。 + + +### missionIDs + +``` +int32_t* OH_VideoCaptureInfo::missionIDs +``` + +**描述:** + +指定窗口id列表,使用该参数需要在capturemode为CAPTURE_SPECIFIED_WINDOW模式下使用。 + +> **说明:** +> +> 预留接口,将在后续版本提供。 + +### missionIDsLen + +``` +int32_t OH_VideoCaptureInfo::missionIDsLen +``` + +**描述:** + +指定窗口ID长度,使用该参数需要在capturemode为CAPTURE_SPECIFIED_WINDOW模式下使用。 + +> **说明:** +> +> 预留接口,将在后续版本提供。 + + +### videoFrameHeight + +``` +int32_t OH_VideoCaptureInfo::videoFrameHeight +``` + +**描述:** + +采集视频的高度设置。 + + +### videoFrameWidth + +``` +int32_t OH_VideoCaptureInfo::videoFrameWidth +``` + +**描述:** + +采集视频的宽度设置。 + + +### videoSource + +``` +OH_VideoSourceType OH_VideoCaptureInfo::videoSource +``` + +**描述:** + +视频采集格式设置,目前仅支持RGBA格式。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___video_enc_info.md b/zh-cn/application-dev/reference/native-apis/_o_h___video_enc_info.md new file mode 100644 index 0000000000000000000000000000000000000000..27192b7ad2a29a6c3d399f361ab262239471b86f --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___video_enc_info.md @@ -0,0 +1,68 @@ +# OH_VideoEncInfo + + +## 概述 + +视频编码参数。 + +> **说明:** +> +> 预留接口,将在后续版本提供。 + +**系统能力**:SystemCapability.Multimedia.Media.AVScreenCapture + +**起始版本:** + +10 + +**相关模块:** + +[AVScreenCapture](_a_v_screen_capture.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [videoCodec](#videocodec) | [OH_VideoCodecFormat](_a_v_screen_capture.md#oh_videocodecformat)
视频采集编码格式。 | +| [videoBitrate](#videobitrate) | int32_t
视频采集比特率。 | +| [videoFrameRate](#videoframerate) | int32_t
视频采集帧率。 | + + +## 结构体成员变量说明 + + +### videoBitrate + +``` +int32_t OH_VideoEncInfo::videoBitrate +``` + +**描述:** + +视频采集比特率。 + + +### videoCodec + +``` +OH_VideoCodecFormat OH_VideoEncInfo::videoCodec +``` + +**描述:** + +视频采集编码格式。 + + +### videoFrameRate + +``` +int32_t OH_VideoEncInfo::videoFrameRate +``` + +**描述:** + +视频采集帧率。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___video_info.md b/zh-cn/application-dev/reference/native-apis/_o_h___video_info.md new file mode 100644 index 0000000000000000000000000000000000000000..579f9aae425db5a77bb2844ab3706e2f43153db9 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___video_info.md @@ -0,0 +1,56 @@ +# OH_VideoInfo + + +## 概述 + +视频录制参数。 + +**系统能力**:SystemCapability.Multimedia.Media.AVScreenCapture + +**起始版本:** + +10 + +**相关模块:** + +[AVScreenCapture](_a_v_screen_capture.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [videoCapInfo](#videocapinfo) | [OH_VideoCaptureInfo](_o_h___video_capture_info.md)
视频采集信息。 | +| [videoEncInfo](#videoencinfo) | [OH_VideoEncInfo](_o_h___video_enc_info.md)
视频编码参数。
**说明:** 预留接口,将在后续版本提供。| + + +## 结构体成员变量说明 + + +### videoCapInfo + +``` +OH_VideoCaptureInfo OH_VideoInfo::videoCapInfo +``` + +**描述:** + +视频采集信息。 + + +### videoEncInfo + +``` +OH_VideoEncInfo OH_VideoInfo::videoEncInfo +``` + +**描述:** + +视频编码参数。 + +> **说明:** +> +> 预留接口,将在后续版本提供。 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 new file mode 100644 index 0000000000000000000000000000000000000000..5753789193fbe24655f266c2588993b389d429ff --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/native__avscreen__capture_8h.md @@ -0,0 +1,36 @@ +# native_avscreen_capture.h + + +## 概述 + +声明用于构造屏幕录制对象的Native API。 + +**起始版本:** + +10 + +**相关模块:** + +[AVScreenCapture](_a_v_screen_capture.md) + + +## 汇总 + + +### 函数 + +| 名称 | 描述 | +| -------- | -------- | +| [OH_AVScreenCapture_Create](_a_v_screen_capture.md#oh_avscreencapture_create) (void) | 实例化对象,创建OH_AVScreenCapture。 | +| [OH_AVScreenCapture_Init](_a_v_screen_capture.md#oh_avscreencapture_init) (struct [OH_AVScreenCapture](_a_v_screen_capture.md#oh_avscreencapture) \*capture, [OH_AVScreenCaptureConfig](_o_h___a_v_screen_capture_config.md) config) | 初始化OH_AVScreenCapture相关参数。 | +| [OH_AVScreenCapture_StartScreenCapture](_a_v_screen_capture.md#oh_avscreencapture_startscreencapture) (struct [OH_AVScreenCapture](_a_v_screen_capture.md#oh_avscreencapture) \*capture) | 开始录屏,采集原始码流。调用后可以通过回调的监听(OH_AVScreenCaptureOnAudioBufferAvailable,OH_AVScreenCaptureOnVideoBufferAvailable)来监听当前是否有码流的产生。 | +| [OH_AVScreenCapture_StopScreenCapture](_a_v_screen_capture.md#oh_avscreencapture_stopscreencapture) (struct [OH_AVScreenCapture](_a_v_screen_capture.md#oh_avscreencapture) \*capture) | 结束录屏,与OH_AVScreenCapture_StartScreenCapture配合使用。调用后针对调用该接口的应用会停止录屏或屏幕共享,释放麦克风。 | +| [OH_AVScreenCapture_StartScreenRecording](_a_v_screen_capture.md#oh_avscreencapture_startscreenrecording) (struct [OH_AVScreenCapture](_a_v_screen_capture.md#oh_avscreencapture) \*capture) | 启动录屏,调用此接口,可采集编码后的码流。
**说明:** 预留接口,将在后续版本提供。 | +| [OH_AVScreenCapture_StopScreenRecording](_a_v_screen_capture.md#oh_avscreencapture_stopscreenrecording) (struct [OH_AVScreenCapture](_a_v_screen_capture.md#oh_avscreencapture) \*capture) | 停止录屏,与OH_AVScreenCapture_StartScreenRecording配合使用。
**说明:** 预留接口,将在后续版本提供。 | +| [OH_AVScreenCapture_AcquireAudioBuffer](_a_v_screen_capture.md#oh_avscreencapture_acquireaudiobuffer) (struct [OH_AVScreenCapture](_a_v_screen_capture.md#oh_avscreencapture) \*capture, [OH_AudioBuffer](_o_h___audio_buffer.md) \*\*audiobuffer, [OH_AudioCaptureSourceType](_a_v_screen_capture.md#oh_audiocapturesourcetype) type) | 获取音频buffer,应用在调用时,需要对audiobuffer分配对应结构体大小的内存,否则会影响拿到音频buffer的获取。 | +| [OH_AVScreenCapture_AcquireVideoBuffer](_a_v_screen_capture.md#oh_avscreencapture_acquirevideobuffer) (struct [OH_AVScreenCapture](_a_v_screen_capture.md#oh_avscreencapture) \*capture, int32_t \*fence, int64_t \*timestamp, struct [OH_Rect](_o_h___rect.md) \*region) | 获取视频buffer,应用在调用时,通过此接口来获取到视频的buffer以及时间戳等信息。 | +| [OH_AVScreenCapture_ReleaseAudioBuffer](_a_v_screen_capture.md#oh_avscreencapture_releaseaudiobuffer) (struct [OH_AVScreenCapture](_a_v_screen_capture.md#oh_avscreencapture) \*capture, [OH_AudioCaptureSourceType](_a_v_screen_capture.md#oh_audiocapturesourcetype) type) | 根据音频类型释放buffer。 | +| [OH_AVScreenCapture_ReleaseVideoBuffer](_a_v_screen_capture.md#oh_avscreencapture_releasevideobuffer) (struct [OH_AVScreenCapture](_a_v_screen_capture.md#oh_avscreencapture) \*capture) | 根据视频类型释放buffer。 | +| [OH_AVScreenCapture_SetCallback](_a_v_screen_capture.md#oh_avscreencapture_setcallback) (struct [OH_AVScreenCapture](_a_v_screen_capture.md#oh_avscreencapture) \*capture, struct [OH_AVScreenCaptureCallback](_o_h___a_v_screen_capture_callback.md) callback) | 设置监听接口,通过设置监听,可以监听到调用过程中的错误信息,以及是否有可用的视频buffer和音频buffer。 | +| [OH_AVScreenCapture_Release](_a_v_screen_capture.md#oh_avscreencapture_release) (struct [OH_AVScreenCapture](_a_v_screen_capture.md#oh_avscreencapture) \*capture) | 释放创建的OH_AVScreenCapture实例,对应OH_AVScreenCapture_Create。 | +| [OH_AVScreenCapture_SetMicrophoneEnabled](_a_v_screen_capture.md#oh_avscreencapture_setmicrophoneenabled) (struct [OH_AVScreenCapture](_a_v_screen_capture.md#oh_avscreencapture) \*capture, bool isMicrophone) | 设置麦克风开关。 | 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 new file mode 100644 index 0000000000000000000000000000000000000000..e77629638fb9ca4452de8568dc83609c927e6975 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/native__avscreen__capture__base_8h.md @@ -0,0 +1,76 @@ +# native_avscreen_capture_base.h + + +## 概述 + +声明用于运行屏幕录制通用的结构体、字符常量、枚举。 + +**起始版本:** + +10 + +**相关模块:** + +[AVScreenCapture](_a_v_screen_capture.md) + + +## 汇总 + + +### 结构体 + +| 名称 | 描述 | +| -------- | -------- | +| [OH_AudioCaptureInfo](_o_h___audio_capture_info.md) | 音频录制信息。 | +| [OH_AudioEncInfo](_o_h___audio_enc_info.md) | 音频编码信息。
**说明:** 预留接口,将在后续版本提供。 | +| [OH_AudioInfo](_o_h___audio_info.md) | 音频录制参数。 | +| [OH_VideoCaptureInfo](_o_h___video_capture_info.md) | 视频采集信息。 | +| [OH_VideoEncInfo](_o_h___video_enc_info.md) | 视频编码信息。
**说明:** 预留接口,将在后续版本提供。 | +| [OH_VideoInfo](_o_h___video_info.md) | 视频录制参数。 | +| [OH_RecorderInfo](_o_h___recorder_info.md) | 录制文件信息。 | +| [OH_AVScreenCaptureConfig](_o_h___a_v_screen_capture_config.md) | 屏幕录制配置参数。 | +| [OH_AVScreenCaptureCallback](_o_h___a_v_screen_capture_callback.md) | OH_AVScreenCapture中所有异步回调函数指针的集合。 | +| [OH_Rect](_o_h___rect.md) | 定义录屏界面的宽高以及画面信息。 | +| [OH_AudioBuffer](_o_h___audio_buffer.md) | 定义了音频数据的大小,类型,时间戳等配置信息。 | + + +### 类型定义 + +| 名称 | 描述 | +| -------- | -------- | +| [OH_NativeBuffer](_a_v_screen_capture.md#oh_nativebuffer) | 提供录屏的视频原始码流类。 | +| [OH_AVScreenCapture](_a_v_screen_capture.md#oh_avscreencapture) | 通过OH_AVScreenCapture可以获取视频与音频的原始码流。 | +| [OH_CaptureMode](_a_v_screen_capture.md#oh_capturemode) | 枚举,表示屏幕录制的不同模式。 | +| [OH_AudioCaptureSourceType](_a_v_screen_capture.md#oh_audiocapturesourcetype) | 枚举,表示屏幕录制时的音频源类型。 | +| [OH_AudioCodecFormat](_a_v_screen_capture.md#oh_audiocodecformat) | 枚举,表示音频编码格式。 | +| [OH_VideoCodecFormat](_a_v_screen_capture.md#oh_videocodecformat) | 枚举,表示视频编码格式。 | +| [OH_DataType](_a_v_screen_capture.md#oh_datatype) | 枚举,表示屏幕录制流的数据格式。 | +| [OH_VideoSourceType](_a_v_screen_capture.md#oh_videosourcetype) | 枚举,表示视频源格式。 | +| [OH_ContainerFormatType](_a_v_screen_capture.md#oh_containerformattype) | 枚举,表示屏幕录制生成的文件类型。
**说明:** 预留接口,将在后续版本提供。 | +| [OH_AudioCaptureInfo](_a_v_screen_capture.md#oh_audiocaptureinfo) | 音频录制信息。 | +| [OH_AudioEncInfo](_a_v_screen_capture.md#oh_audioencinfo) | 音频编码信息。
**说明:** 预留接口,将在后续版本提供。 | +| [OH_AudioInfo](_a_v_screen_capture.md#oh_audioinfo) | 音频录制参数。 | +| [OH_VideoCaptureInfo](_a_v_screen_capture.md#oh_videocaptureinfo) | 视频采集信息。 | +| [OH_VideoEncInfo](_a_v_screen_capture.md#oh_videoencinfo) | 视频编码信息。
**说明:** 预留接口,将在后续版本提供。| +| [OH_VideoInfo](_a_v_screen_capture.md#oh_videoinfo) | 视频录制参数。 | +| [OH_RecorderInfo](_a_v_screen_capture.md#oh_recorderinfo) | 录制文件信息。 | +| [OH_AVScreenCaptureConfig](_a_v_screen_capture.md#oh_avscreencaptureconfig) | 屏幕录制配置参数。 | +| (\*[OH_AVScreenCaptureOnError](_a_v_screen_capture.md#oh_avscreencaptureonerror)) ([OH_AVScreenCapture](_a_v_screen_capture.md#oh_avscreencapture) \*capture, int32_t errorCode) | 当OH_AVScreenCapture实例运行出错时,将调用函数指针。 | +| (\*[OH_AVScreenCaptureOnAudioBufferAvailable](_a_v_screen_capture.md#oh_avscreencaptureonaudiobufferavailable)) ([OH_AVScreenCapture](_a_v_screen_capture.md#oh_avscreencapture) \*capture, bool isReady, [OH_AudioCaptureSourceType](_a_v_screen_capture.md#oh_audiocapturesourcetype) type) | 当OH_AVScreenCapture操作期间音频缓冲区可用时,将调用函数指针。 | +| (\*[OH_AVScreenCaptureOnVideoBufferAvailable](_a_v_screen_capture.md#oh_avscreencaptureonvideobufferavailable)) ([OH_AVScreenCapture](_a_v_screen_capture.md#oh_avscreencapture) \*capture, bool isReady) | 当OH_AVScreenCapture操作期间视频缓冲区可用时,将调用函数指针。 | +| [OH_AVScreenCaptureCallback](_a_v_screen_capture.md#oh_avscreencapturecallback) | OH_AVScreenCapture中所有异步回调函数指针的集合。 | +| [OH_Rect](_a_v_screen_capture.md#oh_rect) | 定义录屏界面的宽高以及画面信息。 | +| [OH_AudioBuffer](_a_v_screen_capture.md#oh_audiobuffer) | 定义了音频数据的大小,类型,时间戳等配置信息。 | + + +### 枚举 + +| 名称 | 描述 | +| -------- | -------- | +| [OH_CaptureMode](_a_v_screen_capture.md#oh_capturemode) { [OH_CAPTURE_HOME_SCREEN](_a_v_screen_capture.md) = 0, [OH_CAPTURE_SPECIFIED_SCREEN](_a_v_screen_capture.md) = 1, [OH_CAPTURE_SPECIFIED_WINDOW](_a_v_screen_capture.md) = 2, [OH_CAPTURE_INVAILD](_a_v_screen_capture.md) = -1 } | 枚举,表示屏幕录制的不同模式。 | +| [OH_AudioCaptureSourceType](_a_v_screen_capture.md#oh_audiocapturesourcetype) {
[OH_SOURCE_INVALID](_a_v_screen_capture.md) = -1, [OH_SOURCE_DEFAULT](_a_v_screen_capture.md) = 0, [OH_MIC](_a_v_screen_capture.md) = 1, [OH_ALL_PLAYBACK](_a_v_screen_capture.md) = 2,
[OH_APP_PLAYBACK](_a_v_screen_capture.md) = 3
} | 枚举,表示屏幕录制时的音频源类型。 | +| [OH_AudioCodecFormat](_a_v_screen_capture.md#oh_audiocodecformat) { [OH_AUDIO_DEFAULT](_a_v_screen_capture.md) = 0, [OH_AAC_LC](_a_v_screen_capture.md) = 3, [OH_AUDIO_CODEC_FORMAT_BUTT](_a_v_screen_capture.md) } | 枚举,表示音频编码格式。 | +| [OH_VideoCodecFormat](_a_v_screen_capture.md#oh_videocodecformat) {
[OH_VIDEO_DEFAULT](_a_v_screen_capture.md) = 0, [OH_H264](_a_v_screen_capture.md) = 2, [OH_H265](_a_v_screen_capture.md) = 4, [OH_MPEG4](_a_v_screen_capture.md) = 6,
[OH_VP8](_a_v_screen_capture.md) = 8, [OH_VP9](_a_v_screen_capture.md) = 10, [OH_VIDEO_CODEC_FORMAT_BUTT](_a_v_screen_capture.md)
} | 枚举,表示视频编码格式。 | +| [OH_DataType](_a_v_screen_capture.md#oh_datatype) { [OH_ORIGINAL_STREAM](_a_v_screen_capture.md) = 0, [OH_ENCODED_STREAM](_a_v_screen_capture.md) = 1, [OH_CAPTURE_FILE](_a_v_screen_capture.md) = 2, OH_INVAILD = -1 } | 枚举,表示屏幕录制流的数据格式。 | +| [OH_VideoSourceType](_a_v_screen_capture.md#oh_videosourcetype) { [OH_VIDEO_SOURCE_SURFACE_YUV](_a_v_screen_capture.md) = 0, [OH_VIDEO_SOURCE_SURFACE_ES](_a_v_screen_capture.md), [OH_VIDEO_SOURCE_SURFACE_RGBA](_a_v_screen_capture.md), [OH_VIDEO_SOURCE_BUTT](_a_v_screen_capture.md) } | 枚举,表示视频源格式。 | +| [OH_ContainerFormatType](_a_v_screen_capture.md#oh_containerformattype) { [CFT_MPEG_4A](_a_v_screen_capture.md) = 0, [CFT_MPEG_4](_a_v_screen_capture.md) = 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 new file mode 100644 index 0000000000000000000000000000000000000000..06d304d153c0aa7feb1362847c197f117b6be8dd --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/native__avscreen__capture__errors_8h.md @@ -0,0 +1,31 @@ +# native_avscreen_capture_errors.h + + +## 概述 + +声明用于运行屏幕录制过程中接口调用的错误码说明。 + +**起始版本:** + +10 + +**相关模块:** + +[AVScreenCapture](_a_v_screen_capture.md) + + +## 汇总 + + +### 类型定义 + +| 名称 | 描述 | +| -------- | -------- | +| [OH_AVSCREEN_CAPTURE_ErrCode](_a_v_screen_capture.md#oh_avscreen_capture_errcode) | 屏幕录制过程中产生的不同结果码。 | + + +### 枚举 + +| 名称 | 描述 | +| -------- | -------- | +| [OH_AVSCREEN_CAPTURE_ErrCode](_a_v_screen_capture.md#oh_avscreen_capture_errcode) {
[AV_SCREEN_CAPTURE_ERR_BASE](_a_v_screen_capture.md) = 0, [AV_SCREEN_CAPTURE_ERR_OK](_a_v_screen_capture.md) = AV_SCREEN_CAPTURE_ERR_BASE, [AV_SCREEN_CAPTURE_ERR_NO_MEMORY](_a_v_screen_capture.md) = AV_SCREEN_CAPTURE_ERR_BASE + 1, [AV_SCREEN_CAPTURE_ERR_OPERATE_NOT_PERMIT](_a_v_screen_capture.md) = AV_SCREEN_CAPTURE_ERR_BASE + 2,
[AV_SCREEN_CAPTURE_ERR_INVALID_VAL](_a_v_screen_capture.md) = AV_SCREEN_CAPTURE_ERR_BASE + 3, [AV_SCREEN_CAPTURE_ERR_IO](_a_v_screen_capture.md) = AV_SCREEN_CAPTURE_ERR_BASE + 4, [AV_SCREEN_CAPTURE_ERR_TIMEOUT](_a_v_screen_capture.md) = AV_SCREEN_CAPTURE_ERR_BASE + 5, [AV_SCREEN_CAPTURE_ERR_UNKNOWN](_a_v_screen_capture.md) = AV_SCREEN_CAPTURE_ERR_BASE + 6,
[AV_SCREEN_CAPTURE_ERR_SERVICE_DIED](_a_v_screen_capture.md) = AV_SCREEN_CAPTURE_ERR_BASE + 7, [AV_SCREEN_CAPTURE_ERR_INVALID_STATE](_a_v_screen_capture.md) = AV_SCREEN_CAPTURE_ERR_BASE + 8, [AV_SCREEN_CAPTURE_ERR_UNSUPPORT](_a_v_screen_capture.md) = AV_SCREEN_CAPTURE_ERR_BASE + 9, [AV_SCREEN_CAPTURE_ERR_EXTEND_START](_a_v_screen_capture.md) = AV_SCREEN_CAPTURE_ERR_BASE + 100
} | 屏幕录制过程中产生的不同结果码。 |