• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# native_avmetadata.h
2<!--Kit: AVSession Kit-->
3<!--Subsystem: Multimedia-->
4<!--Owner: @ccfriend; @liao_qian-->
5<!--Designer: @ccfriend-->
6<!--Tester: @chenmingxi1_huawei-->
7<!--Adviser: @zengyawen-->
8
9## 概述
10
11提供播控元数据的定义。
12
13**引用文件:** <multimedia/av_session/native_avmetadata.h>
14
15**库:** libohavsession.so
16
17**系统能力:** SystemCapability.Multimedia.AVSession.Core
18
19**起始版本:** 13
20
21**相关模块:** [OHAVSession](capi-ohavsession.md)
22
23## 汇总
24
25### 结构体
26
27| 名称 | typedef关键字 | 描述 |
28| -- | -- | -- |
29| [OH_AVMetadataBuilderStruct](capi-ohavsession-oh-avmetadatabuilderstruct.md) | OH_AVMetadataBuilder | 会话元数据构造器。构造器用于构造会话元数据。 |
30| [OH_AVMetadataStruct](capi-ohavsession-oh-avmetadatastruct.md) | OH_AVMetadata | 会话元数据。资源设置的avmetadata的实例。 |
31
32### 枚举
33
34| 名称 | typedef关键字 | 描述 |
35| -- | -- | -- |
36| [AVMetadata_Result](#avmetadata_result) | AVMetadata_Result | 元数据操作的错误码。 |
37| [AVMetadata_SkipIntervals](#avmetadata_skipintervals) | AVMetadata_SkipIntervals | 表示session支持的快进快退时间间隔。 |
38| [AVMetadata_DisplayTag](#avmetadata_displaytag) | AVMetadata_DisplayTag | 应用媒体音源的特殊类型标识。 |
39
40### 函数
41
42| 名称 | 描述 |
43| -- | -- |
44| [AVMetadata_Result OH_AVMetadataBuilder_Create(OH_AVMetadataBuilder** builder)](#oh_avmetadatabuilder_create) | 创建一个元数据构造器。 |
45| [AVMetadata_Result OH_AVMetadataBuilder_Destroy(OH_AVMetadataBuilder* builder)](#oh_avmetadatabuilder_destroy) | 销毁元数据构造器。 |
46| [AVMetadata_Result OH_AVMetadataBuilder_SetAssetId(OH_AVMetadataBuilder* builder, const char* assetId)](#oh_avmetadatabuilder_setassetid) | 设置当前媒体资源id。 |
47| [AVMetadata_Result OH_AVMetadataBuilder_SetTitle(OH_AVMetadataBuilder* builder, const char* title)](#oh_avmetadatabuilder_settitle) | 设置资源标题。 |
48| [AVMetadata_Result OH_AVMetadataBuilder_SetArtist(OH_AVMetadataBuilder* builder, const char* artist)](#oh_avmetadatabuilder_setartist) | 设置资源所属的艺术家。 |
49| [AVMetadata_Result OH_AVMetadataBuilder_SetAuthor(OH_AVMetadataBuilder* builder, const char* author)](#oh_avmetadatabuilder_setauthor) | 设置资源的作者。 |
50| [AVMetadata_Result OH_AVMetadataBuilder_SetAlbum(OH_AVMetadataBuilder* builder, const char* album)](#oh_avmetadatabuilder_setalbum) | 设置资源专辑名称。 |
51| [AVMetadata_Result OH_AVMetadataBuilder_SetWriter(OH_AVMetadataBuilder* builder, const char* writer)](#oh_avmetadatabuilder_setwriter) | 设置资源词作者。 |
52| [AVMetadata_Result OH_AVMetadataBuilder_SetComposer(OH_AVMetadataBuilder* builder, const char* composer)](#oh_avmetadatabuilder_setcomposer) | 设置资源作曲者。 |
53| [AVMetadata_Result OH_AVMetadataBuilder_SetDuration(OH_AVMetadataBuilder* builder, int64_t duration)](#oh_avmetadatabuilder_setduration) | 设置资源播放时长。 |
54| [AVMetadata_Result OH_AVMetadataBuilder_SetMediaImageUri(OH_AVMetadataBuilder* builder, const char* mediaImageUri)](#oh_avmetadatabuilder_setmediaimageuri) | 设置媒体图片数据。 |
55| [AVMetadata_Result OH_AVMetadataBuilder_SetSubtitle(OH_AVMetadataBuilder* builder, const char* subtitle)](#oh_avmetadatabuilder_setsubtitle) | 设置副标题。 |
56| [AVMetadata_Result OH_AVMetadataBuilder_SetDescription(OH_AVMetadataBuilder* builder, const char* description)](#oh_avmetadatabuilder_setdescription) | 设置媒体描述信息。 |
57| [AVMetadata_Result OH_AVMetadataBuilder_SetLyric(OH_AVMetadataBuilder* builder, const char* lyric)](#oh_avmetadatabuilder_setlyric) | 设置歌词。 |
58| [AVMetadata_Result OH_AVMetadataBuilder_SetSkipIntervals(OH_AVMetadataBuilder* builder, AVMetadata_SkipIntervals intervals)](#oh_avmetadatabuilder_setskipintervals) | 设置资源的跳转的间隔时间。 |
59| [AVMetadata_Result OH_AVMetadataBuilder_SetDisplayTags(OH_AVMetadataBuilder* builder, int32_t tags)](#oh_avmetadatabuilder_setdisplaytags) | 设置媒体资源的金标类型。 |
60| [AVMetadata_Result OH_AVMetadataBuilder_GenerateAVMetadata(OH_AVMetadataBuilder* builder, OH_AVMetadata** avMetadata)](#oh_avmetadatabuilder_generateavmetadata) | 生成媒体元数据对象。 |
61| [AVMetadata_Result OH_AVMetadata_Destroy(OH_AVMetadata* avMetadata)](#oh_avmetadata_destroy) | 释放媒体元数据对象。 |
62
63## 枚举类型说明
64
65### AVMetadata_Result
66
67```
68enum AVMetadata_Result
69```
70
71**描述**
72
73元数据操作的错误码。
74
75**起始版本:** 13
76
77| 枚举项 | 描述 |
78| -- | -- |
79| AVMETADATA_SUCCESS = 0 | 执行成功。 |
80| AVMETADATA_ERROR_INVALID_PARAM = 1 | 入参错误。 |
81| AVMETADATA_ERROR_NO_MEMORY = 2 | 内存不足。 |
82
83### AVMetadata_SkipIntervals
84
85```
86enum AVMetadata_SkipIntervals
87```
88
89**描述**
90
91表示session支持的快进快退时间间隔。
92
93**起始版本:** 13
94
95| 枚举项 | 描述 |
96| -- | -- |
97| SECONDS_10 = 10 | 时间为10秒。 |
98| SECONDS_15 = 15 | 时间为15秒。 |
99| SECONDS_30 = 30 | 时间为30秒。 |
100
101### AVMetadata_DisplayTag
102
103```
104enum AVMetadata_DisplayTag
105```
106
107**描述**
108
109应用媒体音源的特殊类型标识。
110
111**起始版本:** 13
112
113| 枚举项 | 描述 |
114| -- | -- |
115| AVSESSION_DISPLAYTAG_AUDIO_VIVID = 1 | AUDIO VIVID标识。 |
116
117
118## 函数说明
119
120### OH_AVMetadataBuilder_Create()
121
122```
123AVMetadata_Result OH_AVMetadataBuilder_Create(OH_AVMetadataBuilder** builder)
124```
125
126**描述**
127
128创建一个元数据构造器。
129
130**起始版本:** 13
131
132
133**参数:**
134
135| 参数项 | 描述 |
136| -- | -- |
137| [OH_AVMetadataBuilder](capi-ohavsession-oh-avmetadatabuilderstruct.md)** builder |  该引用指向创建的构造器的结果。 |
138
139**返回:**
140
141| 类型 | 说明 |
142| -- | -- |
143| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_INVALID_PARAM:参数builder为nullptr。<br> AVMETADATA_ERROR_NO_MEMORY:没有内存来分配新实例。 |
144
145### OH_AVMetadataBuilder_Destroy()
146
147```
148AVMetadata_Result OH_AVMetadataBuilder_Destroy(OH_AVMetadataBuilder* builder)
149```
150
151**描述**
152
153销毁元数据构造器。
154
155**起始版本:** 13
156
157
158**参数:**
159
160| 参数项 | 描述 |
161| -- | -- |
162| [OH_AVMetadataBuilder](capi-ohavsession-oh-avmetadatabuilderstruct.md)* builder | 指向元数据构造器的实例。 |
163
164**返回:**
165
166| 类型 | 说明 |
167| -- | -- |
168| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_INVALID_PARAM:参数builder为nullptr。 |
169
170### OH_AVMetadataBuilder_SetAssetId()
171
172```
173AVMetadata_Result OH_AVMetadataBuilder_SetAssetId(OH_AVMetadataBuilder* builder, const char* assetId)
174```
175
176**描述**
177
178设置当前媒体资源id。
179
180**起始版本:** 13
181
182
183**参数:**
184
185| 参数项 | 描述 |
186| -- | -- |
187| [OH_AVMetadataBuilder](capi-ohavsession-oh-avmetadatabuilderstruct.md)* builder | 指向元数据构造器的实例。 |
188| const char* assetId | 资源id。 |
189
190**返回:**
191
192| 类型 | 说明 |
193| -- | -- |
194| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_INVALID_PARAM:<br>                               1.参数builder为nullptr。<br>                               2.参数assetId为nullptr。 |
195
196### OH_AVMetadataBuilder_SetTitle()
197
198```
199AVMetadata_Result OH_AVMetadataBuilder_SetTitle(OH_AVMetadataBuilder* builder, const char* title)
200```
201
202**描述**
203
204设置资源标题。
205
206**起始版本:** 13
207
208
209**参数:**
210
211| 参数项 | 描述 |
212| -- | -- |
213| [OH_AVMetadataBuilder](capi-ohavsession-oh-avmetadatabuilderstruct.md)* builder | 指向元数据构造器的实例。 |
214| const char* title | 标题。 |
215
216**返回:**
217
218| 类型 | 说明 |
219| -- | -- |
220| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_INVALID_PARAM:<br>                                1. 参数builder为nullptr。<br>                                2. 参数title为nullptr。 |
221
222### OH_AVMetadataBuilder_SetArtist()
223
224```
225AVMetadata_Result OH_AVMetadataBuilder_SetArtist(OH_AVMetadataBuilder* builder, const char* artist)
226```
227
228**描述**
229
230设置资源所属的艺术家。
231
232**起始版本:** 13
233
234
235**参数:**
236
237| 参数项 | 描述 |
238| -- | -- |
239| [OH_AVMetadataBuilder](capi-ohavsession-oh-avmetadatabuilderstruct.md)* builder | 指向元数据构造器的实例。 |
240| const char* artist | 艺术家。 |
241
242**返回:**
243
244| 类型 | 说明 |
245| -- | -- |
246| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_INVALID_PARAM:<br>                                1. 参数builder为nullptr。<br>                                2. 参数artist为nullptr。 |
247
248### OH_AVMetadataBuilder_SetAuthor()
249
250```
251AVMetadata_Result OH_AVMetadataBuilder_SetAuthor(OH_AVMetadataBuilder* builder, const char* author)
252```
253
254**描述**
255
256设置资源的作者。
257
258**起始版本:** 13
259
260
261**参数:**
262
263| 参数项 | 描述 |
264| -- | -- |
265| [OH_AVMetadataBuilder](capi-ohavsession-oh-avmetadatabuilderstruct.md)* builder | 指向元数据构造器的实例。 |
266| const char* author | 作者。 |
267
268**返回:**
269
270| 类型 | 说明 |
271| -- | -- |
272| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_INVALID_PARAM:<br>                                1. 参数builder为nullptr。<br>                                2. 参数author为nullptr。 |
273
274### OH_AVMetadataBuilder_SetAlbum()
275
276```
277AVMetadata_Result OH_AVMetadataBuilder_SetAlbum(OH_AVMetadataBuilder* builder, const char* album)
278```
279
280**描述**
281
282设置资源专辑名称。
283
284**起始版本:** 13
285
286
287**参数:**
288
289| 参数项 | 描述 |
290| -- | -- |
291| [OH_AVMetadataBuilder](capi-ohavsession-oh-avmetadatabuilderstruct.md)* builder | 指向元数据构造器的实例。 |
292| const char* album | 专辑名。 |
293
294**返回:**
295
296| 类型 | 说明 |
297| -- | -- |
298| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_INVALID_PARAM:<br>                                1. 参数builder为nullptr。<br>                                2. 参数album为nullptr。 |
299
300### OH_AVMetadataBuilder_SetWriter()
301
302```
303AVMetadata_Result OH_AVMetadataBuilder_SetWriter(OH_AVMetadataBuilder* builder, const char* writer)
304```
305
306**描述**
307
308设置资源词作者。
309
310**起始版本:** 13
311
312
313**参数:**
314
315| 参数项 | 描述 |
316| -- | -- |
317| [OH_AVMetadataBuilder](capi-ohavsession-oh-avmetadatabuilderstruct.md)* builder | 指向元数据构造器的实例。 |
318| const char* writer | 词作者。 |
319
320**返回:**
321
322| 类型 | 说明 |
323| -- | -- |
324| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_INVALID_PARAM:<br>                                1. 参数builder为nullptr。<br>                                2. 参数writer为nullptr。 |
325
326### OH_AVMetadataBuilder_SetComposer()
327
328```
329AVMetadata_Result OH_AVMetadataBuilder_SetComposer(OH_AVMetadataBuilder* builder, const char* composer)
330```
331
332**描述**
333
334设置资源作曲者。
335
336**起始版本:** 13
337
338
339**参数:**
340
341| 参数项 | 描述 |
342| -- | -- |
343| [OH_AVMetadataBuilder](capi-ohavsession-oh-avmetadatabuilderstruct.md)* builder | 指向元数据构造器的实例。 |
344| const char* composer | 作曲者。 |
345
346**返回:**
347
348| 类型 | 说明 |
349| -- | -- |
350| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_INVALID_PARAM:<br>                                1. 参数builder为nullptr。<br>                                2. 参数composer为nullptr。 |
351
352### OH_AVMetadataBuilder_SetDuration()
353
354```
355AVMetadata_Result OH_AVMetadataBuilder_SetDuration(OH_AVMetadataBuilder* builder, int64_t duration)
356```
357
358**描述**
359
360设置资源播放时长。
361
362**起始版本:** 13
363
364
365**参数:**
366
367| 参数项 | 描述 |
368| -- | -- |
369| [OH_AVMetadataBuilder](capi-ohavsession-oh-avmetadatabuilderstruct.md)* builder | 指向元数据构造器的实例。 |
370| int64_t duration | 资源播放时长,以ms为单位。 |
371
372**返回:**
373
374| 类型 | 说明 |
375| -- | -- |
376| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_INVALID_PARAM:参数builder为nullptr。 |
377
378### OH_AVMetadataBuilder_SetMediaImageUri()
379
380```
381AVMetadata_Result OH_AVMetadataBuilder_SetMediaImageUri(OH_AVMetadataBuilder* builder, const char* mediaImageUri)
382```
383
384**描述**
385
386设置媒体图片数据。
387
388**起始版本:** 13
389
390
391**参数:**
392
393| 参数项 | 描述 |
394| -- | -- |
395| [OH_AVMetadataBuilder](capi-ohavsession-oh-avmetadatabuilderstruct.md)* builder | 指向元数据构造器的实例。 |
396| const char* mediaImageUri | 网络资源图片数据地址。 |
397
398**返回:**
399
400| 类型 | 说明 |
401| -- | -- |
402| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_INVALID_PARAM:<br>                                1. 参数builder为nullptr。<br>                                2. 参数mediaImageUri为nullptr。 |
403
404### OH_AVMetadataBuilder_SetSubtitle()
405
406```
407AVMetadata_Result OH_AVMetadataBuilder_SetSubtitle(OH_AVMetadataBuilder* builder, const char* subtitle)
408```
409
410**描述**
411
412设置副标题。
413
414**起始版本:** 13
415
416
417**参数:**
418
419| 参数项 | 描述 |
420| -- | -- |
421| [OH_AVMetadataBuilder](capi-ohavsession-oh-avmetadatabuilderstruct.md)* builder | 指向元数据构造器的实例。 |
422| const char* subtitle | 副标题名称。 |
423
424**返回:**
425
426| 类型 | 说明 |
427| -- | -- |
428| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_INVALID_PARAM:<br>                                1. 参数builder为nullptr。<br>                                2. 参数subtitle为nullptr。 |
429
430### OH_AVMetadataBuilder_SetDescription()
431
432```
433AVMetadata_Result OH_AVMetadataBuilder_SetDescription(OH_AVMetadataBuilder* builder, const char* description)
434```
435
436**描述**
437
438设置媒体描述信息。
439
440**起始版本:** 13
441
442
443**参数:**
444
445| 参数项 | 描述 |
446| -- | -- |
447| [OH_AVMetadataBuilder](capi-ohavsession-oh-avmetadatabuilderstruct.md)* builder | 指向元数据构造器的实例。 |
448| const char* description | 媒体描述信息。 |
449
450**返回:**
451
452| 类型 | 说明 |
453| -- | -- |
454| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_INVALID_PARAM:<br>                                1. 参数builder为nullptr。<br>                                2. 参数description为nullptr。 |
455
456### OH_AVMetadataBuilder_SetLyric()
457
458```
459AVMetadata_Result OH_AVMetadataBuilder_SetLyric(OH_AVMetadataBuilder* builder, const char* lyric)
460```
461
462**描述**
463
464设置歌词。
465
466**起始版本:** 13
467
468
469**参数:**
470
471| 参数项 | 描述 |
472| -- | -- |
473| [OH_AVMetadataBuilder](capi-ohavsession-oh-avmetadatabuilderstruct.md)* builder | 指向元数据构造器的实例。 |
474| const char* lyric | lrc格式的歌词内容。 |
475
476**返回:**
477
478| 类型 | 说明 |
479| -- | -- |
480| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_INVALID_PARAM:<br>                                1. 参数builder为nullptr。<br>                                2. 参数lyric为nullptr。 |
481
482### OH_AVMetadataBuilder_SetSkipIntervals()
483
484```
485AVMetadata_Result OH_AVMetadataBuilder_SetSkipIntervals(OH_AVMetadataBuilder* builder,AVMetadata_SkipIntervals intervals)
486```
487
488**描述**
489
490设置资源的跳转的间隔时间。
491
492**起始版本:** 13
493
494
495**参数:**
496
497| 参数项 | 描述 |
498| -- | -- |
499| [OH_AVMetadataBuilder](capi-ohavsession-oh-avmetadatabuilderstruct.md)* builder | 指向元数据构造器的实例。 |
500| [AVMetadata_SkipIntervals](capi-native-avmetadata-h.md#avmetadata_skipintervals) intervals | 跳转的时间间隔。 |
501
502**返回:**
503
504| 类型 | 说明 |
505| -- | -- |
506| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_INVALID_PARAM:<br>                                1. 参数builder为nullptr。<br>                                2. 参数intervals为无效。 |
507
508### OH_AVMetadataBuilder_SetDisplayTags()
509
510```
511AVMetadata_Result OH_AVMetadataBuilder_SetDisplayTags(OH_AVMetadataBuilder* builder, int32_t tags)
512```
513
514**描述**
515
516设置媒体资源的金标类型。
517
518**起始版本:** 13
519
520
521**参数:**
522
523| 参数项 | 描述 |
524| -- | -- |
525| [OH_AVMetadataBuilder](capi-ohavsession-oh-avmetadatabuilderstruct.md)* builder | 指向元数据构造器的实例。 |
526| int32_t tags | 用于显示在播控的媒体资源的金标类型。 |
527
528**返回:**
529
530| 类型 | 说明 |
531| -- | -- |
532| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_INVALID_PARAM:参数builder为nullptr。 |
533
534### OH_AVMetadataBuilder_GenerateAVMetadata()
535
536```
537AVMetadata_Result OH_AVMetadataBuilder_GenerateAVMetadata(OH_AVMetadataBuilder* builder,OH_AVMetadata** avMetadata)
538```
539
540**描述**
541
542生成媒体元数据对象。
543
544**起始版本:** 13
545
546
547**参数:**
548
549| 参数项 | 描述 |
550| -- | -- |
551| [OH_AVMetadataBuilder](capi-ohavsession-oh-avmetadatabuilderstruct.md)* builder | 指向元数据构造器的实例。 |
552| [OH_AVMetadata](capi-ohavsession-oh-avmetadatastruct.md)** avMetadata | 指向元数据的指针对象。 |
553
554**返回:**
555
556| 类型 | 说明 |
557| -- | -- |
558| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_NO_MEMORY:内存不足。<br> AVMETADATA_ERROR_INVALID_PARAM:<br>                                1. 参数builder为nullptr。<br>                                2. 参数avMetadata为nullptr。 |
559
560### OH_AVMetadata_Destroy()
561
562```
563AVMetadata_Result OH_AVMetadata_Destroy(OH_AVMetadata* avMetadata)
564```
565
566**描述**
567
568释放媒体元数据对象。
569
570**起始版本:** 13
571
572
573**参数:**
574
575| 参数项 | 描述 |
576| -- | -- |
577| [OH_AVMetadata](capi-ohavsession-oh-avmetadatastruct.md)* avMetadata | 指向元数据的指针对象。 |
578
579**返回:**
580
581| 类型 | 说明 |
582| -- | -- |
583| [AVMetadata_Result](capi-native-avmetadata-h.md#avmetadata_result) | AVMETADATA_SUCCESS:函数执行成功。<br> AVMETADATA_ERROR_INVALID_PARAM:参数avMetadata为nullptr。 |
584
585
586