native_avscreen_capture_base.h

概述

声明用于运行屏幕录制通用的结构体、字符常量、枚举。

库: libnative_avscreen_capture.so

引用文件: <multimedia/player_framework/native_avscreen_capture_base.h>

系统能力: SystemCapability.Multimedia.Media.AVScreenCapture

起始版本: 10

相关模块:AVScreenCapture

汇总

结构体

名称 描述
struct OH_AudioCaptureInfo 音频采样信息。
struct OH_AudioEncInfo 音频编码信息。
struct OH_AudioInfo 音频信息。
struct OH_VideoCaptureInfo 视频录制信息。
struct OH_VideoEncInfo 视频编码信息。
struct OH_VideoInfo 视频信息。
struct OH_RecorderInfo 录制文件信息。
struct OH_AVScreenCaptureConfig 屏幕录制配置参数。
struct OH_AVScreenCaptureCallback OH_AVScreenCapture中所有异步回调函数指针的集合。
struct OH_Rect 定义录屏界面的宽高以及画面信息。
struct OH_AudioBuffer 定义了音频数据的大小,类型,时间戳等配置信息。

类型定义

名称 描述
typedef struct OH_NativeBuffer OH_NativeBuffer 提供录屏的视频原始码流类。
typedef struct OH_AVScreenCapture OH_AVScreenCapture 通过OH_AVScreenCapture可以获取视频与音频的原始码流。
typedef struct OH_AVScreenCapture_ContentFilter OH_AVScreenCapture_ContentFilter 通过OH_AVScreenCapture_ContentFilter过滤音视频内容。
typedef enum OH_CaptureMode OH_CaptureMode 枚举,表示屏幕录制的不同模式。
typedef enum OH_AudioCaptureSourceType OH_AudioCaptureSourceType 枚举,表示屏幕录制时的音频源类型。
typedef enum OH_AudioCodecFormat OH_AudioCodecFormat 枚举,表示音频编码格式。
typedef enum OH_VideoCodecFormat OH_VideoCodecFormat 枚举,表示视频编码格式。
typedef enum OH_DataType OH_DataType 枚举,表示屏幕录制流的数据格式。
typedef enum OH_VideoSourceType OH_VideoSourceType 枚举,表示视频源格式。当前仅支持RGBA格式。
typedef enum OH_ContainerFormatType OH_ContainerFormatType 枚举,表示屏幕录制生成的文件类型。
typedef struct OH_AudioCaptureInfo OH_AudioCaptureInfo 音频采样信息。
typedef struct OH_AudioEncInfo OH_AudioEncInfo 音频编码信息。
typedef struct OH_AudioInfo OH_AudioInfo 音频信息。
typedef struct OH_VideoCaptureInfo OH_VideoCaptureInfo 视频录制信息。
typedef struct OH_VideoEncInfo OH_VideoEncInfo 视频编码信息。
typedef struct OH_VideoInfo OH_VideoInfo 视频信息。
typedef struct OH_RecorderInfo OH_RecorderInfo 录制文件信息。
typedef struct OH_AVScreenCaptureConfig OH_AVScreenCaptureConfig 屏幕录制配置参数。
typedef void(* OH_AVScreenCaptureOnError) (OH_AVScreenCapture *capture, int32_t errorCode) 当OH_AVScreenCapture实例运行出错时,将调用函数指针。
typedef void(* OH_AVScreenCaptureOnAudioBufferAvailable) (OH_AVScreenCapture *capture, bool isReady, OH_AudioCaptureSourceType type) 当OH_AVScreenCapture操作期间音频缓冲区可用时,将调用函数指针。
typedef void(* OH_AVScreenCaptureOnVideoBufferAvailable) (OH_AVScreenCapture *capture, bool isReady) 当OH_AVScreenCapture操作期间视频缓冲区可用时,将调用函数指针。
typedef struct OH_AVScreenCaptureCallback OH_AVScreenCaptureCallback OH_AVScreenCapture中所有异步回调函数指针的集合。
typedef struct OH_Rect OH_Rect 定义录屏界面的宽高以及画面信息。
typedef struct OH_AudioBuffer OH_AudioBuffer 定义了音频数据的大小,类型,时间戳等配置信息。
typedef enum OH_AVScreenCaptureStateCode OH_AVScreenCaptureStateCode 枚举,表示状态码。
typedef enum OH_AVScreenCaptureBufferType OH_AVScreenCaptureBufferType 枚举,表示buffer类型。
typedef enum OH_AVScreenCaptureFilterableAudioContent OH_AVScreenCaptureFilterableAudioContent 枚举,表示可过滤的音频类型。
typedef void(* OH_AVScreenCapture_OnStateChange) (struct OH_AVScreenCapture *capture, OH_AVScreenCaptureStateCode stateCode, void *userData) 当OH_AVScreenCapture实例操作期间发生状态变更时,将调用函数指针。
typedef void(* OH_AVScreenCapture_OnError) (OH_AVScreenCapture *capture, int32_t errorCode, void *userData) 当OH_AVScreenCapture实例操作期间发生错误时,将调用函数指针。
typedef void(* OH_AVScreenCapture_OnBufferAvailable) (OH_AVScreenCapture *capture, OH_AVBuffer *buffer, OH_AVScreenCaptureBufferType bufferType, int64_t timestamp, void *userData) 当OH_AVScreenCapture实例操作期间音频或视频缓存区可用时,将调用该函数指针。
typedef void(* OH_AVScreenCapture_OnDisplaySelected) (OH_AVScreenCapture *capture, uint64_t displayId, void *userData) 当录屏事件开始时,将调用函数指针。

枚举

名称 描述
OH_CaptureMode {
OH_CAPTURE_HOME_SCREEN = 0,
OH_CAPTURE_SPECIFIED_SCREEN = 1,
OH_CAPTURE_SPECIFIED_WINDOW = 2,
OH_CAPTURE_INVAILD = -1
}
枚举,表示屏幕录制的不同模式。
OH_AudioCaptureSourceType {
OH_SOURCE_INVALID = -1,
OH_SOURCE_DEFAULT = 0,
OH_MIC = 1,
OH_ALL_PLAYBACK = 2,
OH_APP_PLAYBACK = 3
}
枚举,表示屏幕录制时的音频源类型。
OH_AudioCodecFormat {
OH_AUDIO_DEFAULT = 0,
OH_AAC_LC = 3,
OH_AUDIO_CODEC_FORMAT_BUTT
}
枚举,表示音频编码格式。
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_ORIGINAL_STREAM = 0,
OH_ENCODED_STREAM = 1,
OH_CAPTURE_FILE = 2,
OH_INVAILD = -1
}
枚举,表示屏幕录制流的数据格式。
OH_VideoSourceType {
OH_VIDEO_SOURCE_SURFACE_YUV = 0,
OH_VIDEO_SOURCE_SURFACE_ES,
OH_VIDEO_SOURCE_SURFACE_RGBA,
OH_VIDEO_SOURCE_BUTT
}
枚举,表示视频源格式。当前仅支持RGBA格式。
OH_ContainerFormatType {
CFT_MPEG_4A = 0,
CFT_MPEG_4 = 1
}
枚举,表示屏幕录制生成的文件类型。
OH_AVScreenCaptureStateCode {
OH_SCREEN_CAPTURE_STATE_STARTED = 0,
OH_SCREEN_CAPTURE_STATE_CANCELED = 1,
OH_SCREEN_CAPTURE_STATE_STOPPED_BY_USER = 2,
OH_SCREEN_CAPTURE_STATE_INTERRUPTED_BY_OTHER = 3,
OH_SCREEN_CAPTURE_STATE_STOPPED_BY_CALL = 4,
OH_SCREEN_CAPTURE_STATE_MIC_UNAVAILABLE = 5,
OH_SCREEN_CAPTURE_STATE_MIC_MUTED_BY_USER = 6,
OH_SCREEN_CAPTURE_STATE_MIC_UNMUTED_BY_USER = 7,
OH_SCREEN_CAPTURE_STATE_ENTER_PRIVATE_SCENE = 8,
OH_SCREEN_CAPTURE_STATE_EXIT_PRIVATE_SCENE = 9,
OH_SCREEN_CAPTURE_STATE_STOPPED_BY_USER_SWITCHES = 10
}
枚举,表示状态码。
OH_AVScreenCaptureBufferType {
OH_SCREEN_CAPTURE_BUFFERTYPE_VIDEO = 0,
OH_SCREEN_CAPTURE_BUFFERTYPE_AUDIO_INNER = 1,
OH_SCREEN_CAPTURE_BUFFERTYPE_AUDIO_MIC = 2
}
枚举,表示buffer类型。
OH_AVScreenCaptureFilterableAudioContent {
OH_SCREEN_CAPTURE_NOTIFICATION_AUDIO = 0,
OH_SCREEN_CAPTURE_CURRENT_APP_AUDIO = 1
}
枚举,表示可过滤的音频类型。