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