harmony 鸿蒙Core
Core
概述
Core模块提供用于媒体系统的基础骨干能力,包含内存、错误码、媒体数据结构等相关函数。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
汇总
文件
名称 | 描述 |
---|---|
media_types.h | 声明了常见媒体类型的定义。 |
native_audio_channel_layout.h | 在录制和播放时的扬声器布局。 |
native_avbuffer.h | 声明了媒体数据结构AVBuffer的函数接口。 |
native_avbuffer_info.h | 声明了媒体数据结构AVBuffer属性的定义。 |
native_averrors.h | 媒体系统错误码。 |
native_avformat.h | 声明了OH_AVFormat相关的函数和枚举。 |
native_avmemory.h | 声明了媒体数据结构AVMemory的定义。 |
结构体
名称 | 描述 |
---|---|
struct OH_AVCodecBufferAttr | 定义OH_AVCodec的缓冲区描述信息。 |
类型定义
名称 | 描述 |
---|---|
typedef enum OH_Core_HdrType OH_Core_HdrType | HDR类型枚举。 |
typedef enum OH_AudioChannelSet OH_AudioChannelSet | 音频声道集合。 |
typedef enum OH_AmbAttributeSet OH_AmbAttributeSet | 高保真立体声混响设置。 |
typedef enum OH_AudioChannelLayout OH_AudioChannelLayout | 音频声道布局。 |
typedef struct OH_AVBuffer OH_AVBuffer | 为媒体内存接口定义native层对象。 |
typedef struct OH_NativeBuffer OH_NativeBuffer | 为图形内存接口定义native层对象。 |
typedef enum OH_AVCodecBufferFlags OH_AVCodecBufferFlags | 枚举OH_AVCodec缓冲区标记的类别。 |
typedef struct OH_AVCodecBufferAttr OH_AVCodecBufferAttr | 定义OH_AVCodec的缓冲区描述信息。 |
typedef enum OH_AVErrCode OH_AVErrCode | 媒体系统错误码。 |
typedef struct OH_AVFormat OH_AVFormat | 为OH_AVFormat接口定义native层对象。 |
typedef enum OH_AVPixelFormat OH_AVPixelFormat | 视频像素格式的枚举类。 |
typedef struct OH_AVMemory OH_AVMemory | 为音视频内存接口定义native层对象。 |
枚举
名称 | 描述 |
---|---|
OH_Core_HdrType { OH_CORE_HDR_TYPE_NONE = 0, OH_CORE_HDR_TYPE_VIVID = 1 } |
HDR类型枚举。 |
OH_AudioChannelSet { CH_SET_FRONT_LEFT = 1ULL << 0U, CH_SET_FRONT_RIGHT = 1ULL << 1U, CH_SET_FRONT_CENTER = 1ULL << 2U, CH_SET_LOW_FREQUENCY = 1ULL << 3U, CH_SET_BACK_LEFT = 1ULL << 4U, CH_SET_BACK_RIGHT = 1ULL << 5U, CH_SET_FRONT_LEFT_OF_CENTER = 1ULL << 6U, CH_SET_FRONT_RIGHT_OF_CENTER = 1ULL << 7U, CH_SET_BACK_CENTER = 1ULL << 8U, CH_SET_SIDE_LEFT = 1ULL << 9U, CH_SET_SIDE_RIGHT = 1ULL << 10U, CH_SET_TOP_CENTER = 1ULL << 11U, CH_SET_TOP_FRONT_LEFT = 1ULL << 12U, CH_SET_TOP_FRONT_CENTER = 1ULL << 13U, CH_SET_TOP_FRONT_RIGHT = 1ULL << 14U, CH_SET_TOP_BACK_LEFT = 1ULL << 15U, CH_SET_TOP_BACK_CENTER = 1ULL << 16U, CH_SET_TOP_BACK_RIGHT = 1ULL << 17U, CH_SET_STEREO_LEFT = 1ULL << 29U, CH_SET_STEREO_RIGHT = 1ULL << 30U, CH_SET_WIDE_LEFT = 1ULL << 31U, CH_SET_WIDE_RIGHT = 1ULL << 32U, CH_SET_SURROUND_DIRECT_LEFT = 1ULL << 33U, CH_SET_SURROUND_DIRECT_RIGHT = 1ULL << 34U, CH_SET_LOW_FREQUENCY_2 = 1ULL << 35U, CH_SET_TOP_SIDE_LEFT = 1ULL << 36U, CH_SET_TOP_SIDE_RIGHT = 1ULL << 37U, CH_SET_BOTTOM_FRONT_CENTER = 1ULL << 38U, CH_SET_BOTTOM_FRONT_LEFT = 1ULL << 39U, CH_SET_BOTTOM_FRONT_RIGHT = 1ULL << 40U } |
音频声道集合。 |
OH_AmbAttributeSet { AMB_ORD_1 = 1ULL << 0U, AMB_ORD_2 = 2ULL << 0U, AMB_ORD_3 = 3ULL << 0U, AMB_COM_ACN = 0ULL << 8U, AMB_COM_FUMA = 1ULL << 8U, AMB_NOR_N3D = 0ULL << 12U, AMB_NOR_SN3D = 1ULL << 12U, AMB_MODE = 1ULL << 44U } |
高保真立体声混响设置。 |
OH_AudioChannelLayout { CH_LAYOUT_UNKNOWN = 0ULL, CH_LAYOUT_MONO = CH_SET_FRONT_CENTER, CH_LAYOUT_STEREO = CH_SET_FRONT_LEFT |CH_SET_FRONT_RIGHT, CH_LAYOUT_STEREO_DOWNMIX = CH_SET_STEREO_LEFT |CH_SET_STEREO_RIGHT, CH_LAYOUT_2POINT1 = CH_LAYOUT_STEREO |CH_SET_LOW_FREQUENCY, CH_LAYOUT_3POINT0 = CH_LAYOUT_STEREO |CH_SET_BACK_CENTER, CH_LAYOUT_SURROUND = CH_LAYOUT_STEREO |CH_SET_FRONT_CENTER, CH_LAYOUT_3POINT1 = CH_LAYOUT_SURROUND |CH_SET_LOW_FREQUENCY, CH_LAYOUT_4POINT0 = CH_LAYOUT_SURROUND |CH_SET_BACK_CENTER, CH_LAYOUT_QUAD_SIDE = CH_LAYOUT_STEREO |CH_SET_SIDE_LEFT |CH_SET_SIDE_RIGHT, CH_LAYOUT_QUAD = CH_LAYOUT_STEREO |CH_SET_BACK_LEFT |CH_SET_BACK_RIGHT, CH_LAYOUT_2POINT0POINT2 = CH_LAYOUT_STEREO |CH_SET_TOP_SIDE_LEFT |CH_SET_TOP_SIDE_RIGHT, CH_LAYOUT_AMB_ORDER1_ACN_N3D = AMB_MODE |AMB_ORD_1 |AMB_COM_ACN |AMB_NOR_N3D, CH_LAYOUT_AMB_ORDER1_ACN_SN3D = AMB_MODE |AMB_ORD_1 |AMB_COM_ACN |AMB_NOR_SN3D, CH_LAYOUT_AMB_ORDER1_FUMA = AMB_MODE |AMB_ORD_1 |AMB_COM_FUMA, CH_LAYOUT_4POINT1 = CH_LAYOUT_4POINT0 |CH_SET_LOW_FREQUENCY, CH_LAYOUT_5POINT0 = CH_LAYOUT_SURROUND |CH_SET_SIDE_LEFT |CH_SET_SIDE_RIGHT, CH_LAYOUT_5POINT0_BACK = CH_LAYOUT_SURROUND |CH_SET_BACK_LEFT |CH_SET_BACK_RIGHT, CH_LAYOUT_2POINT1POINT2 = CH_LAYOUT_2POINT0POINT2 |CH_SET_LOW_FREQUENCY, CH_LAYOUT_3POINT0POINT2 = CH_LAYOUT_2POINT0POINT2 |CH_SET_FRONT_CENTER, CH_LAYOUT_5POINT1 = CH_LAYOUT_5POINT0 |CH_SET_LOW_FREQUENCY, CH_LAYOUT_5POINT1_BACK = CH_LAYOUT_5POINT0_BACK |CH_SET_LOW_FREQUENCY, CH_LAYOUT_6POINT0 = CH_LAYOUT_5POINT0 |CH_SET_BACK_CENTER, CH_LAYOUT_3POINT1POINT2 = CH_LAYOUT_3POINT1 |CH_SET_TOP_FRONT_LEFT |CH_SET_TOP_FRONT_RIGHT, CH_LAYOUT_6POINT0_FRONT = CH_LAYOUT_QUAD_SIDE |CH_SET_FRONT_LEFT_OF_CENTER |CH_SET_FRONT_RIGHT_OF_CENTER, CH_LAYOUT_HEXAGONAL = CH_LAYOUT_5POINT0_BACK |CH_SET_BACK_CENTER, CH_LAYOUT_6POINT1 = CH_LAYOUT_5POINT1 |CH_SET_BACK_CENTER, CH_LAYOUT_6POINT1_BACK = CH_LAYOUT_5POINT1_BACK |CH_SET_BACK_CENTER, CH_LAYOUT_6POINT1_FRONT = CH_LAYOUT_6POINT0_FRONT |CH_SET_LOW_FREQUENCY, CH_LAYOUT_7POINT0 = CH_LAYOUT_5POINT0 |CH_SET_BACK_LEFT |CH_SET_BACK_RIGHT, CH_LAYOUT_7POINT0_FRONT = CH_LAYOUT_5POINT0 |CH_SET_FRONT_LEFT_OF_CENTER |CH_SET_FRONT_RIGHT_OF_CENTER, CH_LAYOUT_7POINT1 = CH_LAYOUT_5POINT1 |CH_SET_BACK_LEFT |CH_SET_BACK_RIGHT, CH_LAYOUT_OCTAGONAL = CH_LAYOUT_5POINT0 |CH_SET_BACK_LEFT |CH_SET_BACK_CENTER |CH_SET_BACK_RIGHT, CH_LAYOUT_5POINT1POINT2 = CH_LAYOUT_5POINT1 |CH_SET_TOP_SIDE_LEFT |CH_SET_TOP_SIDE_RIGHT, CH_LAYOUT_7POINT1_WIDE = CH_LAYOUT_5POINT1 |CH_SET_FRONT_LEFT_OF_CENTER |CH_SET_FRONT_RIGHT_OF_CENTER, CH_LAYOUT_7POINT1_WIDE_BACK = CH_LAYOUT_5POINT1_BACK |CH_SET_FRONT_LEFT_OF_CENTER |CH_SET_FRONT_RIGHT_OF_CENTER, CH_LAYOUT_AMB_ORDER2_ACN_N3D = AMB_MODE |AMB_ORD_2 |AMB_COM_ACN |AMB_NOR_N3D, CH_LAYOUT_AMB_ORDER2_ACN_SN3D = AMB_MODE |AMB_ORD_2 |AMB_COM_ACN |AMB_NOR_SN3D, CH_LAYOUT_AMB_ORDER2_FUMA = AMB_MODE |AMB_ORD_2 |AMB_COM_FUMA, CH_LAYOUT_5POINT1POINT4, CH_LAYOUT_7POINT1POINT2 = CH_LAYOUT_7POINT1 |CH_SET_TOP_SIDE_LEFT |CH_SET_TOP_SIDE_RIGHT, CH_LAYOUT_7POINT1POINT4, CH_LAYOUT_10POINT2, CH_LAYOUT_9POINT1POINT4 = CH_LAYOUT_7POINT1POINT4 |CH_SET_WIDE_LEFT |CH_SET_WIDE_RIGHT, CH_LAYOUT_9POINT1POINT6 = CH_LAYOUT_9POINT1POINT4 |CH_SET_TOP_SIDE_LEFT |CH_SET_TOP_SIDE_RIGHT, CH_LAYOUT_HEXADECAGONAL, CH_LAYOUT_AMB_ORDER3_ACN_N3D = AMB_MODE |AMB_ORD_3 |AMB_COM_ACN |AMB_NOR_N3D, CH_LAYOUT_AMB_ORDER3_ACN_SN3D = AMB_MODE |AMB_ORD_3 |AMB_COM_ACN |AMB_NOR_SN3D, CH_LAYOUT_AMB_ORDER3_FUMA = AMB_MODE |AMB_ORD_3 |AMB_COM_FUMA, CH_LAYOUT_22POINT2 } |
音频声道布局。 |
OH_AVCodecBufferFlags { AVCODEC_BUFFER_FLAGS_NONE = 0, AVCODEC_BUFFER_FLAGS_EOS = 1 << 0, AVCODEC_BUFFER_FLAGS_SYNC_FRAME = 1 << 1, AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME = 1 << 2, AVCODEC_BUFFER_FLAGS_CODEC_DATA = 1 << 3, AVCODEC_BUFFER_FLAGS_DISCARD = 1 << 4, AVCODEC_BUFFER_FLAGS_DISPOSABLE = 1 << 5 } |
枚举OH_AVCodec缓冲区标记的类别。 |
OH_AVErrCode { AV_ERR_OK = 0, AV_ERR_NO_MEMORY = 1, AV_ERR_OPERATE_NOT_PERMIT = 2, AV_ERR_INVALID_VAL = 3, AV_ERR_IO = 4, AV_ERR_TIMEOUT = 5, AV_ERR_UNKNOWN = 6, AV_ERR_SERVICE_DIED = 7, AV_ERR_INVALID_STATE = 8, AV_ERR_UNSUPPORT = 9, AV_ERR_UNSUPPORTED_FORMAT = 11, AV_ERR_EXTEND_START = 100, AV_ERR_DRM_BASE = 200, AV_ERR_DRM_DECRYPT_FAILED = 201, AV_ERR_VIDEO_BASE = 300, AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION = 301 } |
媒体系统错误码。 |
OH_AVPixelFormat { AV_PIXEL_FORMAT_YUVI420 = 1, AV_PIXEL_FORMAT_NV12 = 2, AV_PIXEL_FORMAT_NV21 = 3, AV_PIXEL_FORMAT_SURFACE_FORMAT = 4, AV_PIXEL_FORMAT_RGBA = 5 } |
视频像素格式的枚举类。 |
函数
名称 | 描述 |
---|---|
OH_AVBuffer * OH_AVBuffer_Create (int32_t capacity) | 创建OH_AVBuffer实例。 需要注意的是,返回值指向的创建OH_AVBuffer的实例需要开发者主动调用接口释放,请参阅OH_AVBuffer_Destroy。 |
OH_AVErrCode OH_AVBuffer_Destroy (OH_AVBuffer *buffer) | 释放OH_AVBuffer实例指针的资源。 |
OH_AVErrCode OH_AVBuffer_GetBufferAttr (OH_AVBuffer *buffer, OH_AVCodecBufferAttr *attr) | 获取数据缓冲区的pts、size、offset、flags高频属性参数。 |
OH_AVErrCode OH_AVBuffer_SetBufferAttr (OH_AVBuffer *buffer, const OH_AVCodecBufferAttr *attr) | 设置数据缓冲区的pts、size、offset、flags高频属性参数。 |
OH_AVFormat * OH_AVBuffer_GetParameter (OH_AVBuffer *buffer) | 获取除基础属性外的其他参数,信息在OH_AVFormat中承载。 |
OH_AVErrCode OH_AVBuffer_SetParameter (OH_AVBuffer *buffer, const OH_AVFormat *format) | 设置除基础属性外的其他参数,信息在OH_AVFormat中承载。 |
uint8_t * OH_AVBuffer_GetAddr (OH_AVBuffer *buffer) | 获取数据缓冲区的虚拟地址。 |
int32_t OH_AVBuffer_GetCapacity (OH_AVBuffer *buffer) | 获取数据缓冲区的容量(字节数)。 |
OH_NativeBuffer * OH_AVBuffer_GetNativeBuffer (OH_AVBuffer *buffer) | 获取OH_NativeBuffer实例的指针。 |
struct OH_AVFormat * OH_AVFormat_Create (void) | 创建OH_AVFormat实例,用于读写数据。 |
struct OH_AVFormat * OH_AVFormat_CreateAudioFormat (const char *mimeType, int32_t sampleRate, int32_t channelCount) | 创建音频OH_AVFormat实例指针并预设置指定参数,用于读写数据。 |
struct OH_AVFormat * OH_AVFormat_CreateVideoFormat (const char *mimeType, int32_t width, int32_t height) | 创建视频OH_AVFormat实例指针并预设置指定参数,用于读写数据。 |
void OH_AVFormat_Destroy (struct OH_AVFormat *format) | 销毁OH_AVFormat实例。 |
bool OH_AVFormat_Copy (struct OH_AVFormat *to, struct OH_AVFormat *from) | 复制OH_AVFormat实例。 |
bool OH_AVFormat_SetIntValue (struct OH_AVFormat *format, const char *key, int32_t value) | 对OH_AVFormat的key赋int类型的值。 |
bool OH_AVFormat_SetLongValue (struct OH_AVFormat *format, const char *key, int64_t value) | 对OH_AVFormat的key赋long类型的值。 |
bool OH_AVFormat_SetFloatValue (struct OH_AVFormat *format, const char *key, float value) | 对OH_AVFormat的key赋float类型的值。 |
bool OH_AVFormat_SetDoubleValue (struct OH_AVFormat *format, const char *key, double value) | 对OH_AVFormat的key赋double类型的值。 |
bool OH_AVFormat_SetStringValue (struct OH_AVFormat *format, const char *key, const char *value) | 对OH_AVFormat的key赋string类型的值。 |
bool OH_AVFormat_SetBuffer (struct OH_AVFormat *format, const char *key, const uint8_t *addr, size_t size) | 将指定长度的数据块写入OH_AVFormat。 |
bool OH_AVFormat_GetIntValue (struct OH_AVFormat *format, const char *key, int32_t *out) | 从OH_AVFormat的key获取int类型的值。 |
bool OH_AVFormat_GetLongValue (struct OH_AVFormat *format, const char *key, int64_t *out) | 从OH_AVFormat的key获取long类型的值。 |
bool OH_AVFormat_GetFloatValue (struct OH_AVFormat *format, const char *key, float *out) | 从OH_AVFormat的key获取float类型的值。 |
bool OH_AVFormat_GetDoubleValue (struct OH_AVFormat *format, const char *key, double *out) | 从OH_AVFormat的key获取double类型的值。 |
bool OH_AVFormat_GetStringValue (struct OH_AVFormat *format, const char *key, const char **out) | 从OH_AVFormat的key获取string类型的值。 |
bool OH_AVFormat_GetBuffer (struct OH_AVFormat *format, const char *key, uint8_t **addr, size_t *size) | 从OH_AVFormat中读取指定长度的数据块。 |
const char * OH_AVFormat_DumpInfo (struct OH_AVFormat *format) | 返回OH_AVFormat中包含的key-value组成的字符串。 |
OH_AVMemory * OH_AVMemory_Create (int32_t size) | 创建OH_AVMemory实例的指针。(API11废弃) |
uint8_t * OH_AVMemory_GetAddr (struct OH_AVMemory *mem) | 获取内存虚拟地址。 (API11废弃) |
int32_t OH_AVMemory_GetSize (struct OH_AVMemory *mem) | 获取内存长度。(API11废弃) |
OH_AVErrCode OH_AVMemory_Destroy (struct OH_AVMemory *mem) | 释放OH_AVMemory实例指针的资源。(API11废弃) |
类型定义说明
OH_AmbAttributeSet
typedef enum OH_AmbAttributeSet OH_AmbAttributeSet
描述
高保真立体声混响设置。
用int64_t整数来表示高保真立体声混响属性。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
OH_AudioChannelLayout
typedef enum OH_AudioChannelLayout OH_AudioChannelLayout
描述
音频声道布局。
用int64_t整数来表示在录制或播放时扬声器的外观和顺序。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
OH_AudioChannelSet
typedef enum OH_AudioChannelSet OH_AudioChannelSet
描述
音频声道集合。
将每一个声道映射为int64_t的变量。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
OH_AVBuffer
typedef struct OH_AVBuffer OH_AVBuffer
描述
为媒体内存接口定义native层对象。
起始版本: 11
OH_AVCodecBufferAttr
typedef struct OH_AVCodecBufferAttr OH_AVCodecBufferAttr
描述
定义OH_AVCodec的缓冲区描述信息。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
OH_AVCodecBufferFlags
typedef enum OH_AVCodecBufferFlags OH_AVCodecBufferFlags
描述
枚举OH_AVCodec缓冲区标记的类别。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
OH_AVErrCode
typedef enum OH_AVErrCode OH_AVErrCode
描述
媒体系统错误码。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
OH_AVFormat
typedef struct OH_AVFormat OH_AVFormat
描述
为OH_AVFormat接口定义native层对象。
起始版本: 9
OH_AVMemory
typedef struct OH_AVMemory OH_AVMemory
描述
为音视频内存接口定义native层对象。
起始版本: 9
OH_AVPixelFormat
typedef enum OH_AVPixelFormat OH_AVPixelFormat
描述
视频像素格式的枚举类。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
OH_NativeBuffer
typedef struct OH_NativeBuffer OH_NativeBuffer
描述
为图形内存接口定义native层对象。
起始版本: 11
OH_Core_HdrType
typedef enum OH_Core_HdrType OH_Core_HdrType
描述
HDR类型枚举。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 18
枚举类型说明
OH_AmbAttributeSet
enum OH_AmbAttributeSet
描述
高保真立体声混响设置。
用int64_t整数来表示高保真立体声混响属性。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
枚举值 | 描述 |
---|---|
AMB_ORD_1 | 一阶高保真立体声混响 |
AMB_ORD_2 | 二阶高保真立体声混响 |
AMB_ORD_3 | 三阶高保真立体声混响 |
AMB_COM_ACN | ACN通道排序的高保真立体声混响 |
AMB_COM_FUMA | FUMA通道排序的高保真立体声混响 |
AMB_NOR_N3D | N3D归一化的高保真立体声混响 |
AMB_NOR_SN3D | SN3D归一化的高保真立体声混响 |
AMB_MODE | 高保真立体声混响的声道布局 |
OH_AudioChannelLayout
enum OH_AudioChannelLayout
描述
音频声道布局。
用int64_t整数来表示在录制或播放时扬声器的外观和顺序。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
枚举值 | 描述 |
---|---|
CH_LAYOUT_UNKNOWN | 未知声道布局 |
CH_LAYOUT_MONO | 单声道布局, 共1个声道 |
CH_LAYOUT_STEREO | 立体声布局,共2个声道 |
CH_LAYOUT_STEREO_DOWNMIX | 立体声下混布局,共2个声道 |
CH_LAYOUT_2POINT1 | 2.1布局,共3个声道 |
CH_LAYOUT_3POINT0 | 3.0布局,共3个声道 |
CH_LAYOUT_SURROUND | 环绕布局,共3个声道 |
CH_LAYOUT_3POINT1 | 3.1布局,共4个声道 |
CH_LAYOUT_4POINT0 | 4.0布局,共4个声道 |
CH_LAYOUT_QUAD_SIDE | QUAD_SIDE布局,共4个声道 |
CH_LAYOUT_QUAD | QUAD布局,共4个声道 |
CH_LAYOUT_2POINT0POINT2 | 2.0.2布局,共4个声道 |
CH_LAYOUT_AMB_ORDER1_ACN_N3D | ACN_N3D(根据ITU标准)的一阶FOA布局,共4个声道 |
CH_LAYOUT_AMB_ORDER1_ACN_SN3D | ACN_SN3D(根据ITU标准)的一阶FOA布局,共4个声道 |
CH_LAYOUT_AMB_ORDER1_FUMA | FUMA(根据ITU标准)的一阶FOA布局,共4个声道 |
CH_LAYOUT_4POINT1 | 4.1布局,共5个声道 |
CH_LAYOUT_5POINT0 | 5.0布局,共5个声道 |
CH_LAYOUT_5POINT0_BACK | 5.0-后置布局,共5个声道 |
CH_LAYOUT_2POINT1POINT2 | 2.1.2布局,共5个声道 |
CH_LAYOUT_3POINT0POINT2 | 3.0.2布局,共5个声道 |
CH_LAYOUT_5POINT1 | 5.1布局,共6个声道 |
CH_LAYOUT_5POINT1_BACK | 5.1-后置布局,共6个声道 |
CH_LAYOUT_6POINT0 | 6.0布局,共6个声道 |
CH_LAYOUT_3POINT1POINT2 | 3.1.2布局,共6个声道 |
CH_LAYOUT_6POINT0_FRONT | 6.0-Front布局,共6个声道 |
CH_LAYOUT_HEXAGONAL | HEXAGONAL布局,共6个声道 |
CH_LAYOUT_6POINT1 | 6.1布局,共7个声道 |
CH_LAYOUT_6POINT1_BACK | 6.1-后置布局,共7个声道 |
CH_LAYOUT_6POINT1_FRONT | 6.1-前置布局,共7个声道 |
CH_LAYOUT_7POINT0 | 7.0布局,共7个声道 |
CH_LAYOUT_7POINT0_FRONT | 7.0-前置布局,共7个声道 |
CH_LAYOUT_7POINT1 | 7.1布局,共8个声道 |
CH_LAYOUT_OCTAGONAL | OCTAGONAL布局,共8个声道 |
CH_LAYOUT_5POINT1POINT2 | 5.1.2布局,共8个声道 |
CH_LAYOUT_7POINT1_WIDE | 7.1-宽布局,共8个声道 |
CH_LAYOUT_7POINT1_WIDE_BACK | 7.1-后置宽布局,共8个声道 |
CH_LAYOUT_AMB_ORDER2_ACN_N3D | ACN_N3D(根据ITU标准)的二阶HOA布局,共9个声道 |
CH_LAYOUT_AMB_ORDER2_ACN_SN3D | ACN_SN3D(根据ITU标准)的二阶HOA布局,共9个声道 |
CH_LAYOUT_AMB_ORDER2_FUMA | FUMA(根据ITU标准)的二阶HOA布局,共9个声道 |
CH_LAYOUT_5POINT1POINT4 | 5.1.4布局,共10个声道 |
CH_LAYOUT_7POINT1POINT2 | 7.1.2布局,共10个声道 |
CH_LAYOUT_7POINT1POINT4 | 7.1.4布局,共12个声道 |
CH_LAYOUT_10POINT2 | 10.2布局,共12个声道 |
CH_LAYOUT_9POINT1POINT4 | 9.1.4布局,共14个声道 |
CH_LAYOUT_9POINT1POINT6 | 9.1.6布局,共16个声道 |
CH_LAYOUT_HEXADECAGONAL | HEXADECAGONAL布局,共16个声道 |
CH_LAYOUT_AMB_ORDER3_ACN_N3D | ACN_N3D(根据ITU标准)的三阶HOA布局,共16个声道 |
CH_LAYOUT_AMB_ORDER3_ACN_SN3D | ACN_SN3D(根据ITU标准)的三阶HOA布局,共16个声道 |
CH_LAYOUT_AMB_ORDER3_FUMA | FUMA(根据ITU标准)的三阶HOA布局,共16个声道 |
CH_LAYOUT_22POINT2 | 22.2布局,共24个声道 |
OH_AudioChannelSet
enum OH_AudioChannelSet
描述
音频声道集合。
将每一个声道映射为int64_t的变量。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
枚举值 | 描述 |
---|---|
CH_SET_FRONT_LEFT | 左前声道 |
CH_SET_FRONT_RIGHT | 右前声道 |
CH_SET_FRONT_CENTER | 中前声道 |
CH_SET_LOW_FREQUENCY | 低频声道 |
CH_SET_BACK_LEFT | 左后声道 |
CH_SET_BACK_RIGHT | 右后声道 |
CH_SET_FRONT_LEFT_OF_CENTER | 左前中置声道 |
CH_SET_FRONT_RIGHT_OF_CENTER | 右前中置声道 |
CH_SET_BACK_CENTER | 后方中置声道 |
CH_SET_SIDE_LEFT | 左侧声道 |
CH_SET_SIDE_RIGHT | 右侧声道 |
CH_SET_TOP_CENTER | 上方中置声道 |
CH_SET_TOP_FRONT_LEFT | 上方左前声道 |
CH_SET_TOP_FRONT_CENTER | 上方中前声道 |
CH_SET_TOP_FRONT_RIGHT | 上方右前声道 |
CH_SET_TOP_BACK_LEFT | 上方左后声道 |
CH_SET_TOP_BACK_CENTER | 上方中后声道 |
CH_SET_TOP_BACK_RIGHT | 上方右后声道 |
CH_SET_STEREO_LEFT | 立体声左声道 |
CH_SET_STEREO_RIGHT | 立体声右声道 |
CH_SET_WIDE_LEFT | 宽左声道 |
CH_SET_WIDE_RIGHT | 宽右声道 |
CH_SET_SURROUND_DIRECT_LEFT | 左环绕声道 |
CH_SET_SURROUND_DIRECT_RIGHT | 右环绕声道 |
CH_SET_LOW_FREQUENCY_2 | 低频声道2 |
CH_SET_TOP_SIDE_LEFT | 上方左侧声道 |
CH_SET_TOP_SIDE_RIGHT | 上方右侧声道 |
CH_SET_BOTTOM_FRONT_CENTER | 下方中前声道 |
CH_SET_BOTTOM_FRONT_LEFT | 下方左前声道 |
CH_SET_BOTTOM_FRONT_RIGHT | 下方右前声道 |
OH_AVCodecBufferFlags
enum OH_AVCodecBufferFlags
描述
枚举OH_AVCodec缓冲区标记的类别。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
枚举值 | 描述 |
---|---|
AVCODEC_BUFFER_FLAGS_NONE | 表示为普通帧。 |
AVCODEC_BUFFER_FLAGS_EOS | 表示缓冲区是流结束帧。 |
AVCODEC_BUFFER_FLAGS_SYNC_FRAME | 表示缓冲区包含关键帧。 |
AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME | 表示缓冲区中的数据只是帧的一部分。 |
AVCODEC_BUFFER_FLAGS_CODEC_DATA | 表示缓冲区包含编解码特定数据。 |
AVCODEC_BUFFER_FLAGS_DISCARD | 表示缓冲区被解码依赖,解码之后的数据可丢弃。 起始版本: 12 |
AVCODEC_BUFFER_FLAGS_DISPOSABLE | 表示缓冲区不被参考可直接丢弃。 起始版本: 12 |
OH_AVErrCode
enum OH_AVErrCode
描述
媒体系统错误码。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
枚举值 | 描述 |
---|---|
AV_ERR_OK | 操作成功。 |
AV_ERR_NO_MEMORY | 无内存。 |
AV_ERR_OPERATE_NOT_PERMIT | 操作不允许。 |
AV_ERR_INVALID_VAL | 无效值。 |
AV_ERR_IO | IO错误。 |
AV_ERR_TIMEOUT | 超时错误。 |
AV_ERR_UNKNOWN | 未知错误。 |
AV_ERR_SERVICE_DIED | 服务死亡。 |
AV_ERR_INVALID_STATE | 当前状态不支持此操作。 |
AV_ERR_UNSUPPORT | 未支持的功能。 |
AV_ERR_UNSUPPORTED_FORMAT | 不支持的格式。 起始版本: 18 |
AV_ERR_EXTEND_START | 扩展错误码初始值。 |
AV_ERR_DRM_BASE | DRM起始错误码。 起始版本: 12 |
AV_ERR_DRM_DECRYPT_FAILED | DRM解密失败。 起始版本: 12 |
AV_ERR_VIDEO_BASE | 视频起始错误码。 起始版本: 12 |
AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION | 视频不支持色彩空间转换。 起始版本: 12 |
OH_AVPixelFormat
enum OH_AVPixelFormat
描述
视频像素格式的枚举类。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
枚举值 | 描述 |
---|---|
AV_PIXEL_FORMAT_YUVI420 | yuv 420 planar。 |
AV_PIXEL_FORMAT_NV12 | NV12. yuv 420 semiplanar。 |
AV_PIXEL_FORMAT_NV21 | NV21. yvu 420 semiplanar。 |
AV_PIXEL_FORMAT_SURFACE_FORMAT | 像素格式从surface获取。只作用于Surface模式,Buffer模式不生效。 |
AV_PIXEL_FORMAT_RGBA | RGBA8888。 |
OH_Core_HdrType
enum OH_Core_HdrType
描述
HDR类型枚举。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 18
枚举值 | 描述 |
---|---|
OH_CORE_HDR_TYPE_NONE | 此选项用于标记非HDR类型。 |
OH_CORE_HDR_TYPE_VIVID | 此选项用于标记HDR Vivid类型。 |
函数说明
OH_AVBuffer_Create()
OH_AVBuffer* OH_AVBuffer_Create (int32_t capacity)
描述
创建OH_AVBuffer实例。 需要注意的是,返回值指向的创建OH_AVBuffer的实例需要开发者主动调用接口释放,请参阅OH_AVBuffer_Destroy。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
名称 | 描述 |
---|---|
capacity | 创建内存的大小,单位字节。 |
返回:
如果创建成功,则返回OH_AVBuffer实例的指针,如果失败,则返回NULL。
可能失败的原因:
- capacity <=0;
- 出现内部错误,系统没有资源等。
OH_AVBuffer_Destroy()
OH_AVErrCode OH_AVBuffer_Destroy (OH_AVBuffer *buffer)
描述
释放OH_AVBuffer实例指针的资源,同一个buffer不允许重复销毁。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
名称 | 描述 |
---|---|
buffer | 指向OH_AVBuffer实例的指针。 |
返回:
返回函数结果:
AV_ERR_OK:操作成功。
AV_ERR_INVALID_VAL:输入的buffer为空指针或者buffer结构校验失败。
AV_ERR_OPERATE_NOT_PERMIT:输入的buffer不是用户创建的。
OH_AVBuffer_GetAddr()
uint8_t* OH_AVBuffer_GetAddr (OH_AVBuffer *buffer)
描述
获取数据缓冲区的虚拟地址。
不同场景下,对是否可以获取虚拟地址的支持情况不同,请见表格:
编码: |模式|填充数据的方式| 是否可以获取虚拟地址| |—————|——–|——–| |Surface模式|OnNeedInputBuffer输入|×| |Surface模式|OnNewOutputBuffer输出|√| |Buffer模式|OnNeedInputBuffer输入|√| |Buffer模式|OnNewOutputBuffer输出|√|
解码: |模式|填充数据的方式| 是否可以获取虚拟地址| |—————|——–|——–| |Surface模式|OnNeedInputBuffer输入|√| |Surface模式|OnNewOutputBuffer输出|×| |Buffer模式|OnNeedInputBuffer输入|√| |Buffer模式|OnNewOutputBuffer输出|√|
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
名称 | 描述 |
---|---|
buffer | 指向OH_AVBuffer实例的指针。 |
返回:
如果成功,则返回数据缓冲区的虚拟地址,如果失败,则返回NULL。
可能失败的原因:
- 输入的buffer为空指针;
- OH_AVBuffer结构校验失败;
- 出现内部错误。
OH_AVBuffer_GetBufferAttr()
OH_AVErrCode OH_AVBuffer_GetBufferAttr (OH_AVBuffer *buffer, OH_AVCodecBufferAttr *attr)
描述
获取数据缓冲区的pts、size、offset、flags高频属性参数。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
名称 | 描述 |
---|---|
buffer | 指向OH_AVBuffer实例的指针。 |
attr | 指向OH_AVCodecBufferAttr实例的指针。 |
返回:
返回函数结果:
AV_ERR_OK:操作成功。
AV_ERR_INVALID_VAL:
可能的原因:
1. 输入的buffer或attr为空指针;
2. buffer结构校验失败。
OH_AVBuffer_GetCapacity()
int32_t OH_AVBuffer_GetCapacity (OH_AVBuffer *buffer)
描述
获取数据缓冲区的容量(字节数)。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
名称 | 描述 |
---|---|
buffer | 指向OH_AVBuffer实例的指针。 |
返回:
如果成功,则返回数据缓冲区的容量,如果失败,则返回-1。
可能失败的原因:
- 输入的buffer为空指针;
- OH_AVBuffer结构校验失败;
- 出现内部错误。
OH_AVBuffer_GetNativeBuffer()
OH_NativeBuffer* OH_AVBuffer_GetNativeBuffer (OH_AVBuffer *buffer)
描述
获取OH_NativeBuffer实例的指针。 需要注意的是,返回值指向的创建OH_NativeBuffer的实例需要开发者主动调用接口释放,请参阅OH_NativeBuffer_Unreference。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
名称 | 描述 |
---|---|
buffer | 指向OH_AVBuffer实例的指针。 |
返回:
如果成功,则返回OH_NativeBuffer实例的指针,如果失败,则返回NULL。
可能失败的原因:
- 输入的buffer为空指针;
- OH_AVBuffer结构校验失败;
- 出现内部错误。
OH_AVBuffer_GetParameter()
OH_AVFormat* OH_AVBuffer_GetParameter (OH_AVBuffer *buffer)
描述
获取除基础属性外的其他参数,信息在OH_AVFormat中承载。 需要注意的是,返回值指向的创建OH_AVFormat的实例需要开发者主动释放,请参阅OH_AVFormat_Destroy。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
名称 | 描述 |
---|---|
buffer | 指向OH_AVBuffer实例的指针。 |
返回:
返回函数结果:
AV_ERR_OK:操作成功。
AV_ERR_INVALID_VAL:
可能的原因:
1. 输入的buffer为空指针;
2. 输入buffer的meta为空指针;
3. buffer结构校验失败。
OH_AVBuffer_SetBufferAttr()
OH_AVErrCode OH_AVBuffer_SetBufferAttr (OH_AVBuffer *buffer, const OH_AVCodecBufferAttr *attr)
描述
设置数据缓冲区的pts、size、offset、flags高频属性参数。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
名称 | 描述 |
---|---|
buffer | 指向OH_AVBuffer实例的指针。 |
attr | 指向OH_AVCodecBufferAttr实例的指针。 |
返回:
返回函数结果:
AV_ERR_OK:操作成功。
AV_ERR_INVALID_VAL:
可能的原因:
1. 输入的buffer或attr为空指针;
2. buffer结构校验失败;
3. 输入buffer中内存的size或offset是无效值。
OH_AVBuffer_SetParameter()
OH_AVErrCode OH_AVBuffer_SetParameter (OH_AVBuffer *buffer, const OH_AVFormat *format)
描述
设置除基础属性外的其他参数,信息在OH_AVFormat中承载。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
名称 | 描述 |
---|---|
buffer | 指向OH_AVBuffer实例的指针。 |
format | 指向OH_AVFormat实例的指针。 |
返回:
返回函数结果:
AV_ERR_OK:操作成功。
AV_ERR_INVALID_VAL:
可能的原因:
1. 输入的buffer或format为空指针;
2. 输入buffer的meta为空指针;
3. buffer结构校验失败。
OH_AVFormat_Copy()
bool OH_AVFormat_Copy (struct OH_AVFormat *to, struct OH_AVFormat *from)
描述
复制OH_AVFormat实例。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
参数:
名称 | 描述 |
---|---|
to | OH_AVFormat实例,用于接收数据。 |
from | 指向复制数据的OH_AVFormat实例的指针。 |
返回:
返回值为TRUE表示成功,返回值为FALSE表示失败。
可能的失败原因:
- 输入参数为空指针;
- 输入的OH_AVFormat参数结构校验失败。
OH_AVFormat_Create()
struct OH_AVFormat* OH_AVFormat_Create (void)
描述
创建OH_AVFormat实例,用于读写数据。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
返回:
返回指向OH_AVFormat实例的指针。系统资源不足时返回NULL。
OH_AVFormat_CreateAudioFormat()
struct OH_AVFormat* OH_AVFormat_CreateAudioFormat (const char *mimeType, int32_t sampleRate, int32_t channelCount)
描述
创建音频OH_AVFormat实例指针并预设置指定参数,用于读写数据。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 10
参数:
名称 | 描述 |
---|---|
mimeType | MIME类型描述字符串,请参阅AVCODEC_MIMETYPE。 |
sampleRate | 采样率,单位Hz。 |
channelCount | 声道个数,如1为单声道,2为双声道。 |
返回:
返回指向OH_AVFormat实例的指针。传入的mimeType为NULL或系统资源不足时返回NULL。
OH_AVFormat_CreateVideoFormat()
struct OH_AVFormat* OH_AVFormat_CreateVideoFormat (const char *mimeType, int32_t width, int32_t height)
描述
创建视频OH_AVFormat实例指针并预设置指定参数,用于读写数据。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 10
参数:
名称 | 描述 |
---|---|
mimeType | MIME类型描述字符串,请参阅AVCODEC_MIMETYPE。 |
width | 亮度的宽度,单位为pixel。 |
height | 亮度的高度,单位为pixel。 |
返回:
返回指向OH_AVFormat实例的指针。传入的mimeType为NULL或系统资源不足时返回NULL。
OH_AVFormat_Destroy()
void OH_AVFormat_Destroy (struct OH_AVFormat *format)
描述
销毁OH_AVFormat实例,不允许重复销毁。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
参数:
名称 | 描述 |
---|---|
format | 指向OH_AVFormat实例的指针。 |
返回:
无返回值。
OH_AVFormat_DumpInfo()
const char* OH_AVFormat_DumpInfo (struct OH_AVFormat *format)
描述
返回OH_AVFormat中包含的key-value组成的字符串。最大可返回1024字节的字符串,销毁format时释放字符串指针。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
参数:
名称 | 描述 |
---|---|
format | 指向OH_AVFormat实例的指针。 |
返回:
返回一个由key-value组成的字符串。传入的format为NULL或系统资源不足时返回NULL。
OH_AVFormat_GetBuffer()
bool OH_AVFormat_GetBuffer (struct OH_AVFormat *format, const char *key, uint8_t ** addr, size_t *size)
描述
从OH_AVFormat中读取指定长度的数据块。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
参数:
名称 | 描述 |
---|---|
format | 指向OH_AVFormat实例的指针。 |
key | 要读取数据的键。 |
addr | 生命周期与format相同,与format一同销毁。 如果开发者需要长时间保持它,必须进行内存拷贝。 |
size | 读到数据的长度。 |
返回:
返回值为TRUE表示成功,返回值为FALSE表示失败。
可能的失败原因:
- 输入format为空指针;
- 输入format参数结构校验失败;
- 输入key为空指针;
- 输入addr为空指针;
- size为空指针;
- 获取的key不存在或者未设置。
OH_AVFormat_GetDoubleValue()
bool OH_AVFormat_GetDoubleValue (struct OH_AVFormat *format, const char *key, double *out)
描述
从OH_AVFormat的key获取double类型的值。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
参数:
名称 | 描述 |
---|---|
format | 指向OH_AVFormat实例的指针。 |
key | 读取数据的键。 |
out | 读取数据的值。 |
返回:
返回值为TRUE表示成功,返回值为FALSE表示失败。
可能的失败原因:
- 输入format为空指针;
- 输入format参数结构校验失败;
- 输入key为空指针;
- 输入out为空指针;
- 获取的key不存在或者未设置。
OH_AVFormat_GetFloatValue()
bool OH_AVFormat_GetFloatValue (struct OH_AVFormat *format, const char *key, float *out)
描述
从OH_AVFormat的key获取float类型的值。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
参数:
名称 | 描述 |
---|---|
format | 指向OH_AVFormat实例的指针。 |
key | 读取数据的键。 |
out | 读取数据的值。 |
返回:
返回值为TRUE表示成功,返回值为FALSE表示失败。
可能的失败原因:
- 输入format为空指针;
- 输入format参数结构校验失败;
- 输入key为空指针;
- 输入out为空指针;
- 获取的key不存在或者未设置。
OH_AVFormat_GetIntValue()
bool OH_AVFormat_GetIntValue (struct OH_AVFormat *format, const char *key, int32_t *out)
描述
从OH_AVFormat的key获取int类型的值。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
参数:
名称 | 描述 |
---|---|
format | 指向OH_AVFormat实例的指针。 |
key | 读取数据的键。 |
out | 读取数据的值。 |
返回:
返回值为TRUE表示成功,返回值为FALSE表示失败。
可能的失败原因:
- 输入format为空指针;
- 输入format参数结构校验失败;
- 输入key为空指针;
- 输入out为空指针;
- 获取的key不存在或者未设置。
OH_AVFormat_GetLongValue()
bool OH_AVFormat_GetLongValue (struct OH_AVFormat *format, const char *key, int64_t *out)
描述
从OH_AVFormat的key获取long类型的值。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
参数:
名称 | 描述 |
---|---|
format | 指向OH_AVFormat实例的指针。 |
key | 读取数据的键。 |
out | 读取数据的值。 |
返回:
返回值为TRUE表示成功,返回值为FALSE表示失败。
可能的失败原因:
- 输入format为空指针;
- 输入format参数结构校验失败;
- 输入key为空指针;
- 输入out为空指针;
- 获取的key不存在或者未设置。
OH_AVFormat_GetStringValue()
bool OH_AVFormat_GetStringValue (struct OH_AVFormat *format, const char *key, const char ** out)
描述
从OH_AVFormat的key获取string类型的值。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
参数:
名称 | 描述 |
---|---|
format | 指向OH_AVFormat实例的指针。 |
key | 读取数据的键。 |
out | 读取string指针,out数据的生命周期与format内string对应,如果开发者需要长时间保持它,必须进行拷贝内存。out最大输出字符串长度为256字节,如果长度超过256字节,会报false。 |
返回:
返回值为TRUE表示成功,返回值为FALSE表示失败。
可能的失败原因:
- 输入format为空指针;
- 输入format参数结构校验失败;
- 输入key为空指针;
- 输入out为空指针;
- malloc出的out字符串资源不足;
- 获取的key不存在或者未设置;
- 输出out的长度超过256字节。
OH_AVFormat_SetBuffer()
bool OH_AVFormat_SetBuffer (struct OH_AVFormat *format, const char *key, const uint8_t *addr, size_t size)
描述
将指定长度的数据块写入OH_AVFormat。该接口仅能设置buffer类型的参数,参数类型定义详见CodecBase。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
参数:
名称 | 描述 |
---|---|
format | 指向OH_AVFormat实例的指针。 |
key | 写入数据的键。 |
addr | 写入数据的地址,生命周期由开发者管理。 |
size | 写入数据的长度,范围为(0, 1]MB。 |
返回:
返回值为TRUE表示成功,返回值为FALSE表示失败。
可能的失败原因:
- 输入format为空指针;
- 输入format参数结构校验失败;
- 输入key为空指针;
- 输入addr为空指针;
- size为0或超过上限,上限为1MB;
- 设置的key对应的value类型错误。
OH_AVFormat_SetDoubleValue()
bool OH_AVFormat_SetDoubleValue (struct OH_AVFormat *format, const char *key, double value)
描述
对OH_AVFormat的key赋double类型的值。该接口仅能设置double类型的参数,参数类型定义详见CodecBase。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
参数:
名称 | 描述 |
---|---|
format | 指向OH_AVFormat实例的指针。 |
key | 写入数据的键。 |
value | 写入数据的值。 |
返回:
返回值为TRUE表示成功,返回值为FALSE表示失败。
可能的失败原因:
- 输入format为空指针;
- 输入format参数结构校验失败;
- 输入key为空指针;
- 设置的key对应的value类型错误。
OH_AVFormat_SetFloatValue()
bool OH_AVFormat_SetFloatValue (struct OH_AVFormat *format, const char *key, float value)
描述
对OH_AVFormat的key赋float类型的值。该接口仅能设置float类型的参数,参数类型定义详见CodecBase。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
参数:
名称 | 描述 |
---|---|
format | 指向OH_AVFormat实例的指针。 |
key | 写入数据的键。 |
value | 写入数据的值。 |
返回:
返回值为TRUE表示成功,返回值为FALSE表示失败。
可能的失败原因:
- 输入format为空指针;
- 输入format参数结构校验失败;
- 输入key为空指针;
- 设置的key对应的value类型错误。
OH_AVFormat_SetIntValue()
bool OH_AVFormat_SetIntValue (struct OH_AVFormat *format, const char *key, int32_t value)
描述
对OH_AVFormat的key赋int类型的值。该接口仅能设置int类型的参数,参数类型定义详见CodecBase。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
参数:
名称 | 描述 |
---|---|
format | 指向OH_AVFormat实例的指针。 |
key | 写入数据的键。 |
value | 写入数据的值。 |
返回:
返回值为TRUE表示成功,返回值为FALSE表示失败。
可能的失败原因:
- 输入format为空指针;
- 输入format参数结构校验失败;
- 输入key为空指针;
- 设置的key对应的value类型错误。
OH_AVFormat_SetLongValue()
bool OH_AVFormat_SetLongValue (struct OH_AVFormat *format, const char *key, int64_t value)
描述
对OH_AVFormat的key赋long类型的值。该接口仅能设置long类型的参数,参数类型定义详见CodecBase。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
参数:
名称 | 描述 |
---|---|
format | 指向OH_AVFormat实例的指针。 |
key | 写入数据的键。 |
value | 写入数据的值。 |
返回:
返回值为TRUE表示成功,返回值为FALSE表示失败。
可能的失败原因:
- 输入format为空指针;
- 输入format参数结构校验失败;
- 输入key为空指针;
- 设置的key对应的value类型错误。
OH_AVFormat_SetStringValue()
bool OH_AVFormat_SetStringValue (struct OH_AVFormat *format, const char *key, const char *value)
描述
对OH_AVFormat的key赋string类型的值。该接口仅能设置string类型的参数,参数类型定义详见CodecBase。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
参数:
名称 | 描述 |
---|---|
format | 指向OH_AVFormat实例的指针。 |
key | 写入数据的键。 |
value | 写入字符串数据(使用建议:设置字符长度不超过256字节)。 |
返回:
返回值为TRUE表示成功,返回值为FALSE表示失败。
可能的失败原因:
- 输入format为空指针;
- 输入format参数结构校验失败;
- 输入key为空指针;
- 输入value为空指针;
- 设置的key对应的value类型错误。
OH_AVMemory_Create()
OH_AVMemory* OH_AVMemory_Create (int32_t size)
描述
创建OH_AVMemory实例的指针。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 10
废弃版本: 11
替代接口:OH_AVBuffer_Create
参数:
名称 | 描述 |
---|---|
size | 创建内存的大小,单位字节。 |
返回:
如果创建成功,返回OH_AVMemory实例的指针,如果失败,返回NULL。 使用结束后需要通过OH_AVMemory_Destroy释放内存。
OH_AVMemory_Destroy()
OH_AVErrCode OH_AVMemory_Destroy (struct OH_AVMemory *mem)
描述
释放OH_AVMemory实例指针的资源。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 10
废弃版本: 11
替代接口:OH_AVBuffer_Destroy
参数:
名称 | 描述 |
---|---|
mem | 指向OH_AVMemory实例的指针。 |
返回:
如果释放成功返回AV_ERR_OK,如果失败返回具体错误码, 参考OH_AVErrCode。
OH_AVMemory_GetAddr()
uint8_t* OH_AVMemory_GetAddr (struct OH_AVMemory *mem)
描述
获取内存虚拟地址。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
废弃版本: 11
替代接口:OH_AVBuffer_GetAddr
参数:
名称 | 描述 |
---|---|
mem | 指向OH_AVMemory实例的指针。 |
返回:
如果内存有效,返回内存的虚拟地址;如果内存无效,返回NULL。
可能的失败原因:
- 输入mem为空指针;
- 输入mem参数结构校验失败;
- 输入mem中内存为空指针。
OH_AVMemory_GetSize()
int32_t OH_AVMemory_GetSize (struct OH_AVMemory *mem)
描述
获取内存长度。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 9
废弃版本: 11
参数:
名称 | 描述 |
---|---|
mem | 指向OH_AVMemory实例的指针。 |
返回:
如果内存有效,返回内存长度;如果内存无效,返回-1。
可能的失败原因:
- 输入mem为空指针;
- 输入mem参数结构校验失败;
- 输入mem中内存为空指针。
你可能感兴趣的鸿蒙文章
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦