• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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