HarmonyOS API:Core

joytrian
发布于 2023-4-14 16:48
浏览
0收藏

版本:v3.1 Beta

Core

更新时间: 2023-02-17 09:19

概述

Core模块提供用于播放框架的基础骨干能力,包含内存、错误码、格式载体等相关函数。


@syscap SystemCapability.Multimedia.Media.Core


起始版本:


9

汇总

文件

名称

描述

​native_averrors.h​

声明了媒体播放框架的错误码。

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

​native_avformat.h​

声明了格式相关的函数和枚举。

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

​native_avmemory.h​

声明了AVMemory的函数接口。

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

类型定义

名称

描述

​OH_AVErrCode​

音视频错误码。

​OH_AVPixelFormat​

AVPixel 格式的枚举。

枚举

名称

描述

​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_EXTEND_START = 100

}

音视频错误码。

​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

}

AVPixel 格式的枚举。

函数

名称

描述

​OH_AVFormat_Create​​ (void)

创建一个OH_AVFormat句柄指针,用以读写数据。

​OH_AVFormat_Destroy​​ (struct OH_AVFormat *format)

销毁指定OH_AVFormat句柄资源。

​OH_AVFormat_Copy​​ (struct OH_AVFormat *to, struct OH_AVFormat *from)

拷贝OH_AVFormat句柄资源.

​OH_AVFormat_SetIntValue​​ (struct OH_AVFormat *format, const char *key, int32_t value)

向OH_AVFormat写入Int数据.

​OH_AVFormat_SetLongValue​​ (struct OH_AVFormat *format, const char *key, int64_t value)

向OH_AVFormat写入Long数据。

​OH_AVFormat_SetFloatValue​​ (struct OH_AVFormat *format, const char *key, float value)

向OH_AVFormat写入Float数据。

​OH_AVFormat_SetDoubleValue​​ (struct OH_AVFormat *format, const char *key, double value)

向OH_AVFormat写入Double数据。

​OH_AVFormat_SetStringValue​​ (struct OH_AVFormat *format, const char *key, const char *value)

向OH_AVFormat写入String数据。

​OH_AVFormat_SetBuffer​​ (struct OH_AVFormat *format, const char *key, const uint8_t *addr, size_t size)

向OH_AVFormat写入一块指定长度的数据。

​OH_AVFormat_GetIntValue​​ (struct OH_AVFormat *format, const char *key, int32_t *out)

从OH_AVFormat读取Int数据。

​OH_AVFormat_GetLongValue​​ (struct OH_AVFormat *format, const char *key, int64_t *out)

从OH_AVFormat读取Long数据。

​OH_AVFormat_GetFloatValue​​ (struct OH_AVFormat *format, const char *key, float *out)

从OH_AVFormat读取Float数据。

​OH_AVFormat_GetDoubleValue​​ (struct OH_AVFormat *format, const char *key, double *out)

从OH_AVFormat读取Double数据。

​OH_AVFormat_GetStringValue​​ (struct OH_AVFormat *format, const char *key, const char **out)

从OH_AVFormat读取Double数据。

​OH_AVFormat_GetBuffer​​ (struct OH_AVFormat *format, const char *key, uint8_t **addr, size_t *size)

从OH_AVFormat读取一块指定长度的数据。

​OH_AVFormat_DumpInfo​​ (struct OH_AVFormat *format)

以字符串的形式输出OH_AVFormat所包含的信息。

​OH_AVMemory_GetAddr​​ (struct OH_AVMemory *mem)

获取入参的内存虚拟地址。

​OH_AVMemory_GetSize​​ (struct OH_AVMemory *mem)

获取入参的内存长度。

类型定义说明

OH_AVErrCode

typedef enum OH_AVErrCode

描述:

音视频错误码。

@syscap SystemCapability.Multimedia.Media.Core

OH_AVPixelFormat

typedef enum OH_AVPixelFormat

描述:

AVPixel 格式的枚举。

@syscap SystemCapability.Multimedia.Media.Core

枚举类型说明

OH_AVErrCode

enum OH_AVErrCode

描述:

音视频错误码。

@syscap SystemCapability.Multimedia.Media.Core

枚举值

描述

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_EXTEND_START

扩展错误码初始值

OH_AVPixelFormat

enum OH_AVPixelFormat

描述:

AVPixel 格式的枚举。

@syscap SystemCapability.Multimedia.Media.Core

枚举值

描述

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格式

AV_PIXEL_FORMAT_RGBA

RGBA8888

函数说明

OH_AVFormat_Copy()

bool OH_AVFormat_Copy (struct OH_AVFormat * to, struct OH_AVFormat

描述:

拷贝OH_AVFormat句柄资源.

@syscap SystemCapability.Multimedia.Media.Core

参数:

名称

描述

to

接收数据的OH_AVFormat句柄指针

from

被拷贝数据的OH_AVFormat句柄指针

返回:

返回值为TRUE表示成功

返回值为FALSE表示失败

OH_AVFormat_Create()

struct OH_AVFormat* OH_AVFormat_Create (void )

描述:

创建一个OH_AVFormat句柄指针,用以读写数据。

@syscap SystemCapability.Multimedia.Media.Core

返回:

返回OH_AVFormat实例的指针

OH_AVFormat_Destroy()

void OH_AVFormat_Destroy (struct OH_AVFormat * format)

描述:

销毁指定OH_AVFormat句柄资源。

@syscap SystemCapability.Multimedia.Media.Core

参数:

名称

描述

format

指向OH_AVFormat实例的指针

返回:

void

OH_AVFormat_DumpInfo()

const char* OH_AVFormat_DumpInfo (struct OH_AVFormat

描述:

以字符串的形式输出OH_AVFormat所包含的信息。

@syscap SystemCapability.Multimedia.Media.Core

参数:

名称

描述

format

指向OH_AVFormat实例的指针

返回:

返回由键值和数据组成的字符串指针

OH_AVFormat_GetBuffer()

bool OH_AVFormat_GetBuffer (struct OH_AVFormat * format, const char * key, uint8_t ** addr, size_t * size )

描述:

从OH_AVFormat读取一块指定长度的数据。

@syscap SystemCapability.Multimedia.Media.Core

参数:

名称

描述

format

指向OH_AVFormat实例的指针

key

读写数据的键值

addr

生命周期是format持有,伴随format销毁,如果调用者需要长期持有,必须进行内存拷贝

size

读写数据的长度

返回:

返回值为TRUE表示成功

返回值为FALSE表示失败

OH_AVFormat_GetDoubleValue()

bool OH_AVFormat_GetDoubleValue (struct OH_AVFormat * format, const char * key, double * out )

描述:

从OH_AVFormat读取Double数据。

@syscap SystemCapability.Multimedia.Media.Core

参数:

名称

描述

format

指向OH_AVFormat实例的指针

key

读取数据的键值

out

读取的数据

返回:

返回值为TRUE表示成功

返回值为FALSE表示失败

OH_AVFormat_GetFloatValue()

bool OH_AVFormat_GetFloatValue (struct OH_AVFormat * format, const char * key, float * out )

描述:

从OH_AVFormat读取Float数据。

@syscap SystemCapability.Multimedia.Media.Core

参数:

名称

描述

format

指向OH_AVFormat实例的指针

key

读取数据的键值

out

读取的数据

返回:

返回值为TRUE表示成功

返回值为FALSE表示失败

OH_AVFormat_GetIntValue()

bool OH_AVFormat_GetIntValue (struct OH_AVFormat * format, const char * key, int32_t * out )

描述:

从OH_AVFormat读取Int数据。

@syscap SystemCapability.Multimedia.Media.Core

参数:

名称

描述

format

指向OH_AVFormat实例的指针

key

读取数据的键值

out

读取的数据

返回:

返回值为TRUE表示成功

返回值为FALSE表示失败

OH_AVFormat_GetLongValue()

bool OH_AVFormat_GetLongValue (struct OH_AVFormat * format, const char * key, int64_t * out )

描述:

从OH_AVFormat读取Long数据。

@syscap SystemCapability.Multimedia.Media.Core

参数:

名称

描述

format

指向OH_AVFormat实例的指针

key

读取数据的键值

out

读取的数据

返回:

返回值为TRUE表示成功

返回值为FALSE表示失败

OH_AVFormat_GetStringValue()

bool OH_AVFormat_GetStringValue (struct OH_AVFormat * format, const char * key, const char ** out )

描述:

从OH_AVFormat读取Double数据。

@syscap SystemCapability.Multimedia.Media.Core

参数:

名称

描述

format

指向OH_AVFormat实例的指针

key

读取数据的键值

out

读取的字符串指针,指向的数据生命周期伴随GetString更新,伴随format销毁,如果调用者需要长期持有,必须进行内存拷贝

返回:

返回值为TRUE表示成功

返回值为FALSE表示失败

OH_AVFormat_SetBuffer()

bool OH_AVFormat_SetBuffer (struct OH_AVFormat * format, const char * key, const uint8_t * addr, size_t size )

描述:

向OH_AVFormat写入一块指定长度的数据。

@syscap SystemCapability.Multimedia.Media.Core

参数:

名称

描述

format

指向OH_AVFormat实例的指针

key

写入数据的键值

addr

写入的数据地址

size

写入的数据长度

返回:

返回值为TRUE表示成功

返回值为FALSE表示失败

OH_AVFormat_SetDoubleValue()

bool OH_AVFormat_SetDoubleValue (struct OH_AVFormat * format, const char * key, double value )

描述:

向OH_AVFormat写入Double数据。

@syscap SystemCapability.Multimedia.Media.Core

参数:

名称

描述

format

指向OH_AVFormat实例的指针

key

写入数据的键值

value

写入的数据

返回:

返回值为TRUE表示成功

返回值为FALSE表示失败

OH_AVFormat_SetFloatValue()

bool OH_AVFormat_SetFloatValue (struct OH_AVFormat * format, const char * key, float value )

描述:

向OH_AVFormat写入Float数据。

@syscap SystemCapability.Multimedia.Media.Core

参数:

名称

描述

format

指向OH_AVFormat实例的指针

key

写入数据的键值

value

写入的数据

返回:

返回值为TRUE表示成功

返回值为FALSE表示失败

OH_AVFormat_SetIntValue()

bool OH_AVFormat_SetIntValue (struct OH_AVFormat * format, const char * key, int32_t value )

描述:

向OH_AVFormat写入Int数据.

@syscap SystemCapability.Multimedia.Media.Core

参数:

名称

描述

format

指向OH_AVFormat实例的指针

key

写入数据的键值

value

写入的数据

返回:

返回值为TRUE表示成功

返回值为FALSE表示失败

OH_AVFormat_SetLongValue()

bool OH_AVFormat_SetLongValue (struct OH_AVFormat * format, const char * key, int64_t value )

描述:

向OH_AVFormat写入Long数据。

@syscap SystemCapability.Multimedia.Media.Core

参数:

名称

描述

format

指向OH_AVFormat实例的指针

key

写入数据的键值

value

写入的数据

返回:

返回值为TRUE表示成功

返回值为FALSE表示失败

OH_AVFormat_SetStringValue()

bool OH_AVFormat_SetStringValue (struct OH_AVFormat * format, const char * key, const char * value )

描述:

向OH_AVFormat写入String数据。

@syscap SystemCapability.Multimedia.Media.Core

参数:

名称

描述

format

指向OH_AVFormat实例的指针

key

写入数据的键值

value

写入的数据

返回:

返回值为TRUE表示成功

返回值为FALSE表示失败

OH_AVMemory_GetAddr()

uint8_t* OH_AVMemory_GetAddr (struct OH_AVMemory

描述:

获取入参的内存虚拟地址。

@syscap SystemCapability.Multimedia.Media.Core

参数:

名称

描述

mem

指向OH_AVMemory实例的指针

返回:

如果内存有效,返回内存的虚拟地址

如果内存无效,返回nullptr

OH_AVMemory_GetSize()

int32_t OH_AVMemory_GetSize (struct OH_AVMemory

描述:

获取入参的内存长度。

@syscap SystemCapability.Multimedia.Media.Core

参数:

名称

描述

mem

指向OH_AVMemory实例的指针

返回:

如果内存有效,返回内存长度

如果内存无效,返回-1


文章转载自:​​https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/_core-0000001447130400-V3?catalogVersion=V3#ZH-CN_TOPIC_0000001447130400__概述​

已于2023-4-14 16:48:24修改
收藏
回复
举报
回复
    相关推荐