eb53cd70创建于 2025年4月27日历史提交

avrecorder_base.h

概述

定义了媒体 AVRecorder 的结构体和枚举。

库: libavrecorder.so

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

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

起始版本: 18

相关模块:AVRecorder

汇总

结构体

名称 描述
struct  OH_AVRecorder_Profile 定义音视频录制的详细参数。
可以通过参数设置选择只录制音频或只录制视频:当 audioBitrate 或 audioChannels 为 0 时,不录制音频;当 videoFrameWidth 或 videoFrameHeight 为 0 时,不录制视频。
struct  OH_AVRecorder_Location 提供媒体资源的地理位置信息。
struct  OH_AVRecorder_MetadataTemplate 定义元数据的基本模板。
struct  OH_AVRecorder_Metadata 设置元数据信息。
struct  OH_AVRecorder_Config 提供媒体AVRecorder的配置定义。
struct  OH_AVRecorder_Range 表示一个类型的范围。
struct  OH_AVRecorder_EncoderInfo 提供编码器信息。

类型定义

名称 描述
typedef struct OH_AVRecorder OH_AVRecorder 初始化AVRecorder。
typedef enum OH_AVRecorder_AudioSourceType OH_AVRecorder_AudioSourceType AVRecorder的音频源类型。
typedef enum OH_AVRecorder_VideoSourceType OH_AVRecorder_VideoSourceType AVRecorder的视频源类型。
typedef enum OH_AVRecorder_CodecMimeType OH_AVRecorder_CodecMimeType 枚举编码器 MIME 类型。
typedef enum OH_AVRecorder_ContainerFormatType OH_AVRecorder_ContainerFormatType 枚举容器格式类型(容器格式类型的缩写是 CFT)。
typedef enum OH_AVRecorder_State OH_AVRecorder_State AVRecorder状态。
typedef enum OH_AVRecorder_StateChangeReason OH_AVRecorder_StateChangeReason AVRecorder状态变化的原因。
typedef enum OH_AVRecorder_FileGenerationMode OH_AVRecorder_FileGenerationMode 创建录制文件的模式。
typedef struct OH_AVRecorder_Profile OH_AVRecorder_Profile 定义音视频录制的详细参数。
可以通过参数设置选择只录制音频或只录制视频:当 audioBitrate 或 audioChannels 为 0 时,不录制音频;当 videoFrameWidth 或 videoFrameHeight 为 0 时,不录制视频。
typedef struct OH_AVRecorder_Location OH_AVRecorder_Location 提供媒体资源的地理位置信息。
typedef struct OH_AVRecorder_MetadataTemplate OH_AVRecorder_MetadataTemplate 定义元数据的基本模板。
typedef struct OH_AVRecorder_Metadata OH_AVRecorder_Metadata 设置元数据信息。
typedef struct OH_AVRecorder_Config OH_AVRecorder_Config 提供媒体AVRecorder的配置定义。
typedef struct OH_AVRecorder_Range OH_AVRecorder_Range 表示一个类型的范围。
typedef struct OH_AVRecorder_EncoderInfo OH_AVRecorder_EncoderInfo 提供编码器信息。
typedef void(* OH_AVRecorder_OnStateChange) (OH_AVRecorder *recorder, OH_AVRecorder_State state, OH_AVRecorder_StateChangeReason reason, void *userData) 当录制状态发生变化时调用。
typedef void(* OH_AVRecorder_OnError) (OH_AVRecorder *recorder, int32_t errorCode, const char *errorMsg, void *userData) 当录制过程中发生错误时调用。
typedef void(* OH_AVRecorder_OnUri) (OH_AVRecorder *recorder, OH_MediaAsset *asset, void *userData) 当录制在 OH_AVRecorder_FileGenerationMode.AVRECORDER_AUTO_CREATE_CAMERA_SCENE 模式下时调用。

枚举

名称 描述
OH_AVRecorder_AudioSourceType {
AVRECORDER_DEFAULT = 0,
AVRECORDER_MIC = 1,
AVRECORDER_VOICE_RECOGNITION = 2,
AVRECORDER_VOICE_COMMUNICATION = 7,
AVRECORDER_VOICE_MESSAGE = 10,
AVRECORDER_CAMCORDER = 13
}
AVRecorder的音频源类型。
OH_AVRecorder_VideoSourceType {
AVRECORDER_SURFACE_YUV = 0,
AVRECORDER_SURFACE_ES = 1
}
AVRecorder的视频源类型。
OH_AVRecorder_CodecMimeType {
AVRECORDER_VIDEO_AVC = 2,
AVRECORDER_AUDIO_AAC = 3,
AVRECORDER_AUDIO_MP3 = 4,
AVRECORDER_AUDIO_G711MU = 5,
AVRECORDER_VIDEO_MPEG4 = 6,
AVRECORDER_VIDEO_HEVC = 8,
AVRECORDER_AUDIO_AMR_NB = 9,
AVRECORDER_AUDIO_AMR_WB = 10
}
枚举编码器 MIME 类型。
OH_AVRecorder_ContainerFormatType {
AVRECORDER_CFT_MPEG_4 = 2,
AVRECORDER_CFT_MPEG_4A = 6,
AVRECORDER_CFT_AMR = 8,
AVRECORDER_CFT_MP3 = 9,
AVRECORDER_CFT_WAV = 10
}
枚举容器格式类型(容器格式类型的缩写是 CFT)。
OH_AVRecorder_State {
AVRECORDER_IDLE = 0,
AVRECORDER_PREPARED = 1,
AVRECORDER_STARTED = 2,
AVRECORDER_PAUSED = 3,
AVRECORDER_STOPPED = 4,
AVRECORDER_RELEASED = 5,
AVRECORDER_ERROR = 6
}
AVRecorder状态。
OH_AVRecorder_StateChangeReason {
AVRECORDER_USER = 0,
AVRECORDER_BACKGROUND = 1
}
AVRecorder状态变化的原因。
OH_AVRecorder_FileGenerationMode {
AVRECORDER_APP_CREATE = 0,
AVRECORDER_AUTO_CREATE_CAMERA_SCENE = 1
}
创建录制文件的模式。