1# avmetadata_extractor.h 2<!--Kit: Media Kit--> 3<!--Subsystem: Multimedia--> 4<!--Owner: @wang-haizhou6--> 5<!--Designer: @HmQQQ--> 6<!--Tester: @xchaosioda--> 7<!--Adviser: @zengyawen--> 8 9## 概述 10 11定义AVMetadataExtractor接口。使用其C API从媒体资源中获取元数据。 12 13**引用文件:** <multimedia/player_framework/avmetadata_extractor.h> 14 15**库:** libavmetadata_extractor.so 16 17**系统能力:** SystemCapability.Multimedia.Media.AVMetadataExtractor 18 19**起始版本:** 18 20 21**相关模块:** [AVMetadataExtractor](capi-avmetadataextractor.md) 22 23## 汇总 24 25### 结构体 26 27| 名称 | typedef关键字 | 描述 | 28| -- | -- | -- | 29| [OH_AVMetadataExtractor](capi-avmetadataextractor-oh-avmetadataextractor.md) | OH_AVMetadataExtractor | 定义OH_AVMetadataExtractor类型。 | 30 31### 函数 32 33| 名称 | 描述 | 34| -- | -- | 35| [OH_AVMetadataExtractor* OH_AVMetadataExtractor_Create(void)](#oh_avmetadataextractor_create) | 创建OH_AVMetadataExtractor实例。 | 36| [OH_AVErrCode OH_AVMetadataExtractor_SetFDSource(OH_AVMetadataExtractor* extractor, int32_t fd, int64_t offset, int64_t size)](#oh_avmetadataextractor_setfdsource) | 通过媒体文件描述设置数据源。 | 37| [OH_AVErrCode OH_AVMetadataExtractor_FetchMetadata(OH_AVMetadataExtractor* extractor, OH_AVFormat* avMetadata)](#oh_avmetadataextractor_fetchmetadata) | 从媒体资源中获取元数据。此函数必须在[OH_AVMetadataExtractor_SetFDSource](#oh_avmetadataextractor_setfdsource)之后调用。 | 38| [OH_AVErrCode OH_AVMetadataExtractor_FetchAlbumCover(OH_AVMetadataExtractor* extractor, OH_PixelmapNative** pixelMap)](#oh_avmetadataextractor_fetchalbumcover) | 获取音频专辑封面。此函数必须在[OH_AVMetadataExtractor_SetFDSource](#oh_avmetadataextractor_setfdsource)之后调用。 | 39| [OH_AVErrCode OH_AVMetadataExtractor_Release(OH_AVMetadataExtractor* extractor)](#oh_avmetadataextractor_release) | 释放用于OH_AVMetadataExtractor的资源并销毁OH_AVMetadataExtractor实例。 | 40 41## 函数说明 42 43### OH_AVMetadataExtractor_Create() 44 45``` 46OH_AVMetadataExtractor* OH_AVMetadataExtractor_Create(void) 47``` 48 49**描述** 50 51创建OH_AVMetadataExtractor实例。 52 53**系统能力:** SystemCapability.Multimedia.Media.AVMetadataExtractor 54 55**起始版本:** 18 56 57**返回:** 58 59| 类型 | 说明 | 60| -- | -- | 61| [OH_AVMetadataExtractor](capi-avmetadataextractor-oh-avmetadataextractor.md)* | 创建成功时返回指向OH_AVMetadataExtractor实例的指针,否则返回空指针。<br> 可能的失败原因:HstEngineFactory::CreateAVMetadataHelperEngine执行失败。 | 62 63### OH_AVMetadataExtractor_SetFDSource() 64 65``` 66OH_AVErrCode OH_AVMetadataExtractor_SetFDSource(OH_AVMetadataExtractor* extractor,int32_t fd, int64_t offset, int64_t size) 67``` 68 69**描述** 70 71通过媒体文件描述设置数据源。 72 73**系统能力:** SystemCapability.Multimedia.Media.AVMetadataExtractor 74 75**起始版本:** 18 76 77 78**参数:** 79 80| 参数项 | 描述 | 81| -- | -- | 82| [OH_AVMetadataExtractor](capi-avmetadataextractor-oh-avmetadataextractor.md)* extractor | 指向OH_AVMetadataExtractor实例的指针。 | 83| int32_t fd | 媒体源的文件描述符。 | 84| int64_t offset | 媒体源在文件描述符中的偏移量。 | 85| int64_t size | 媒体源的大小。 | 86 87**返回:** 88 89| 类型 | 说明 | 90| -- | -- | 91| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL: 输入的extractor为空指针或参数无效。<br> AV_ERR_OPERATE_NOT_PERMIT:操作被禁止。<br> AV_ERR_NO_MEMORY:内部内存分配失败。 | 92 93### OH_AVMetadataExtractor_FetchMetadata() 94 95``` 96OH_AVErrCode OH_AVMetadataExtractor_FetchMetadata(OH_AVMetadataExtractor* extractor, OH_AVFormat* avMetadata) 97``` 98 99**描述** 100 101从媒体资源中获取元数据。 102 103此函数必须在[OH_AVMetadataExtractor_SetFDSource](#oh_avmetadataextractor_setfdsource)之后调用。 104 105**系统能力:** SystemCapability.Multimedia.Media.AVMetadataExtractor 106 107**起始版本:** 18 108 109 110**参数:** 111 112| 参数项 | 描述 | 113| -- | -- | 114| [OH_AVMetadataExtractor](capi-avmetadataextractor-oh-avmetadataextractor.md)* extractor | 指向OH_AVMetadataExtractor实例的指针。 | 115| [OH_AVFormat](../apis-avcodec-kit/_core.md#oh_avformat)* avMetadata | 指向OH_AVFormat实例的指针,其内容包含获取的元数据信息。 | 116 117**返回:** 118 119| 类型 | 说明 | 120| -- | -- | 121| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL: 输入的extractor为空指针或参数无效。<br> AV_ERR_OPERATE_NOT_PERMIT:操作被禁止。<br> AV_ERR_UNSUPPORTED_FORMAT:格式不支持。<br> AV_ERR_NO_MEMORY:内部内存分配失败。 | 122 123### OH_AVMetadataExtractor_FetchAlbumCover() 124 125``` 126OH_AVErrCode OH_AVMetadataExtractor_FetchAlbumCover(OH_AVMetadataExtractor* extractor, OH_PixelmapNative** pixelMap) 127``` 128 129**描述** 130 131获取音频专辑封面。 132 133此函数必须在[OH_AVMetadataExtractor_SetFDSource](#oh_avmetadataextractor_setfdsource)之后调用。 134 135**系统能力:** SystemCapability.Multimedia.Media.AVMetadataExtractor 136 137**起始版本:** 18 138 139 140**参数:** 141 142| 参数项 | 描述 | 143| -- | -- | 144| [OH_AVMetadataExtractor](capi-avmetadataextractor-oh-avmetadataextractor.md)* extractor | 指向OH_AVMetadataExtractor实例的指针。 | 145| [OH_PixelmapNative](../apis-image-kit/capi-image-nativemodule-oh-pixelmapnative.md)** pixelMap | 从音频源获取的专辑封面。 | 146 147**返回:** 148 149| 类型 | 说明 | 150| -- | -- | 151| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL: 输入的extractor为空指针或参数无效。<br> AV_ERR_OPERATE_NOT_PERMIT:操作被禁止。<br> AV_ERR_UNSUPPORTED_FORMAT:格式不支持。<br> AV_ERR_NO_MEMORY:内部内存分配失败。 | 152 153### OH_AVMetadataExtractor_Release() 154 155``` 156OH_AVErrCode OH_AVMetadataExtractor_Release(OH_AVMetadataExtractor* extractor) 157``` 158 159**描述** 160 161释放用于OH_AVMetadataExtractor的资源并销毁OH_AVMetadataExtractor实例。 162 163**系统能力:** SystemCapability.Multimedia.Media.AVMetadataExtractor 164 165**起始版本:** 18 166 167 168**参数:** 169 170| 参数项 | 描述 | 171| -- | -- | 172| [OH_AVMetadataExtractor](capi-avmetadataextractor-oh-avmetadataextractor.md)* extractor | 指向OH_AVMetadataExtractor实例指针。 | 173 174**返回:** 175 176| 类型 | 说明 | 177| -- | -- | 178| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL: 输入的extractor为空指针或参数无效。 | 179 180 181