1# media_asset_base_capi.h 2 3## 概述 4 5定义了媒体资产管理器的结构和枚举。 6 7**库:** libmedia_asset_manager.so 8 9**引用文件:** <multimedia/media_library/media_asset_base_capi.h> 10 11**系统能力:** SystemCapability.FileManagement.PhotoAccessHelper.Core 12 13**起始版本:** 12 14 15**相关模块:** [MediaAssetManager](capi-mediaassetmanager.md) 16 17## 汇总 18 19### 结构体 20 21| 名称 | typedef关键字 | 描述 | 22| -- | -- | -- | 23| [MediaLibrary_RequestId](capi-mediaassetmanager-medialibrary-requestid.md) | MediaLibrary_RequestId | 定义请求Id。<br>当请求媒体库资源时,会返回此类型。<br>请求Id可用于取消请求。 | 24| [OH_MediaAssetManager](capi-mediaassetmanager-oh-mediaassetmanager.md) | OH_MediaAssetManager | 定义媒体资产管理器。<br>此结构提供了请求媒体库资源的能力。<br>如果创建失败,则返回空指针。 | 25| [OH_MediaAssetChangeRequest](capi-mediaassetmanager-oh-mediaassetchangerequest.md) | OH_MediaAssetChangeRequest | 定义媒体资产更改请求。<br>此结构体提供了处理媒体资产更改请求的能力。 | 26| [OH_MovingPhoto](capi-mediaassetmanager-oh-movingphoto.md) | OH_MovingPhoto | 定义动态照片。<br>此结构体提供了获取关于动态照片的信息的能力。 | 27| [OH_MediaAsset](capi-mediaassetmanager-oh-mediaasset.md) | OH_MediaAsset | 定义媒体资产。<br>此结构体提供了封装文件资源属性的能力。 | 28| [MediaLibrary_RequestOptions](capi-mediaassetmanager-medialibrary-requestoptions.md) | MediaLibrary_RequestOptions | 请求策略模式配置项。<br>此结构体为媒体资源请求策略模式配置项。 | 29 30### 枚举 31 32| 名称 | typedef关键字 | 描述 | 33| -- | -- | -- | 34| [MediaLibrary_ErrorCode](#medialibrary_errorcode) | MediaLibrary_ErrorCode | 媒体库错误代码的枚举。 | 35| [MediaLibrary_DeliveryMode](#medialibrary_deliverymode) | MediaLibrary_DeliveryMode | 请求资源分发模式。 | 36| [MediaLibrary_MediaType](#medialibrary_mediatype) | MediaLibrary_MediaType | 媒体类型的枚举。 | 37| [MediaLibrary_MediaSubType](#medialibrary_mediasubtype) | MediaLibrary_MediaSubType | 媒体资源子类型的枚举。 | 38| [MediaLibrary_ResourceType](#medialibrary_resourcetype) | MediaLibrary_ResourceType | 资源类型的枚举。 | 39| [MediaLibrary_ImageFileType](#medialibrary_imagefiletype) | MediaLibrary_ImageFileType | 图像文件类型的枚举。 | 40| [MediaLibrary_MediaQuality](#medialibrary_mediaquality) | MediaLibrary_MediaQuality | 媒体资源质量枚举。此枚举与请求媒体资源时定义的分发模式有关。 | 41| [MediaLibrary_MediaContentType](#medialibrary_mediacontenttype) | MediaLibrary_MediaContentType | 媒体内容类型的枚举。 | 42 43### 函数 44 45| 名称 | typedef关键字 | 描述 | 46| -- | -- | -- | 47| [typedef void (\*OH_MediaLibrary_OnDataPrepared)(int32_t result, MediaLibrary_RequestId requestId)](#oh_medialibrary_ondataprepared) | OH_MediaLibrary_OnDataPrepared | 当所请求的媒体资源准备完成时会触发回调。 | 48| [typedef void (\*OH_MediaLibrary_OnImageDataPrepared)(MediaLibrary_ErrorCode result, MediaLibrary_RequestId requestId, MediaLibrary_MediaQuality mediaQuality, MediaLibrary_MediaContentType type,OH_ImageSourceNative* imageSourceNative)](#oh_medialibrary_onimagedataprepared) | OH_MediaLibrary_OnImageDataPrepared | 当请求的图像源准备就绪时会触发回调。 | 49| [typedef void (\*OH_MediaLibrary_OnMovingPhotoDataPrepared)(MediaLibrary_ErrorCode result, MediaLibrary_RequestId requestId, MediaLibrary_MediaQuality mediaQuality, MediaLibrary_MediaContentType type,OH_MovingPhoto* movingPhoto)](#oh_medialibrary_onmovingphotodataprepared) | OH_MediaLibrary_OnMovingPhotoDataPrepared | 当请求的动态照片准备就绪时会触发回调。 | 50 51### 变量 52 53| 名称 | 描述 | 54| -- | -- | 55| static const int32_t UUID_STR_MAX_LENGTH = 37 | 定义UUID最大长度。这个常量定义了UUID字符串的最大长度。<br>**起始版本:** 12 | 56 57## 枚举类型说明 58 59### MediaLibrary_ErrorCode 60 61``` 62enum MediaLibrary_ErrorCode 63``` 64 65**描述** 66 67媒体库错误代码的枚举。 68 69**起始版本:** 12 70 71| 枚举项 | 描述 | 72| -- | -- | 73| MEDIA_LIBRARY_OK = 0 | 媒体库结果正常。 | 74| MEDIA_LIBRARY_PERMISSION_DENIED = 201 | 权限被拒绝。 | 75| MEDIA_LIBRARY_PARAMETER_ERROR = 401 | 强制参数未指定,参数类型不正确或参数验证失败。 | 76| MEDIA_LIBRARY_NO_SUCH_FILE = 23800101 | 文件不存在。 | 77| MEDIA_LIBRARY_INVALID_DISPLAY_NAME = 23800102 | 显示名称无效。 | 78| MEDIA_LIBRARY_INVALID_ASSET_URI = 23800103 | 资产uri无效。 | 79| MEDIA_LIBRARY_INVALID_PHOTO_KEY = 23800104 | PhotoKey无效。 | 80| MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED = 23800201 | 不支持该操作。 | 81| MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR = 23800301 | 内部系统错误。建议重试并检查日志。可能的原因:<br>1. 数据库已损坏。<br>2. 文件系统异常。<br>3. IPC请求超时。 | 82 83### MediaLibrary_DeliveryMode 84 85``` 86enum MediaLibrary_DeliveryMode 87``` 88 89**描述** 90 91请求资源分发模式。 92 93快速分发:不考虑资源质量,直接基于现有资源返回。 94 95高质量分发:返回高质量资源,若没有,则触发生成高质量资源,成功后才返回。 96 97均衡分发:若存在高质量资源,则直接返回高质量资源。否则,先返回低质量资源,并触发生成高质量资源,成功后再返回一次高质量资源。 98 99**起始版本:** 12 100 101| 枚举项 | 描述 | 102| -- | -- | 103| MEDIA_LIBRARY_FAST_MODE = 0 | 快速分发。 | 104| MEDIA_LIBRARY_HIGH_QUALITY_MODE = 1 | 高质量分发。 | 105| MEDIA_LIBRARY_BALANCED_MODE = 2 | 均衡分发。 | 106 107### MediaLibrary_MediaType 108 109``` 110enum MediaLibrary_MediaType 111``` 112 113**描述** 114 115媒体类型的枚举。 116 117**起始版本:** 12 118 119| 枚举项 | 描述 | 120| -- | -- | 121| MEDIA_LIBRARY_IMAGE = 1 | 图像资产。 | 122| MEDIA_LIBRARY_VIDEO = 2 | 视频资产。 | 123 124### MediaLibrary_MediaSubType 125 126``` 127enum MediaLibrary_MediaSubType 128``` 129 130**描述** 131 132媒体资源子类型的枚举。 133 134**起始版本:** 12 135 136| 枚举项 | 描述 | 137| -- | -- | 138| MEDIA_LIBRARY_DEFAULT = 0 | 默认照片类型。 | 139| MEDIA_LIBRARY_MOVING_PHOTO = 3 | 动态照片类型。 | 140| MEDIA_LIBRARY_BURST = 4 | 连拍照片类型。 | 141 142### MediaLibrary_ResourceType 143 144``` 145enum MediaLibrary_ResourceType 146``` 147 148**描述** 149 150资源类型的枚举。 151 152**起始版本:** 12 153 154| 枚举项 | 描述 | 155| -- | -- | 156| MEDIA_LIBRARY_IMAGE_RESOURCE = 1 | 图像资源。 | 157| MEDIA_LIBRARY_VIDEO_RESOURCE = 2 | 视频资源。 | 158 159### MediaLibrary_ImageFileType 160 161``` 162enum MediaLibrary_ImageFileType 163``` 164 165**描述** 166 167图像文件类型的枚举。 168 169**起始版本:** 12 170 171| 枚举项 | 描述 | 172| -- | -- | 173| MEDIA_LIBRARY_IMAGE_JPEG = 1 | JPEG类型。 | 174| MEDIA_LIBRARY_FILE_VIDEO = 3 | MPEG类型。<br>**起始版本:** 19 | 175 176### MediaLibrary_MediaQuality 177 178``` 179enum MediaLibrary_MediaQuality 180``` 181 182**描述** 183 184媒体资源质量枚举。 185 186此枚举与请求媒体资源时定义的分发模式有关。 187 188快速分发:不考虑资源质量,直接基于现有资源返回。 189 190高质量分发:返回高质量资源,若没有,则触发生成高质量资源,成功后才返回。 191 192均衡分发:若存在高质量资源,则直接返回高质量资源。否则,先返回低质量资源,并触发生成高质量资源,成功后再返回一次高质量资源。 193 194**起始版本:** 12 195 196| 枚举项 | 描述 | 197| -- | -- | 198| MEDIA_LIBRARY_QUALITY_FAST = 1 | 不考虑资源质量,直接返回的现有资源。 | 199| MEDIA_LIBRARY_QUALITY_FULL = 2 | 高质量资源。 | 200 201### MediaLibrary_MediaContentType 202 203``` 204enum MediaLibrary_MediaContentType 205``` 206 207**描述** 208 209媒体内容类型的枚举。 210 211**起始版本:** 12 212 213| 枚举项 | 描述 | 214| -- | -- | 215| MEDIA_LIBRARY_COMPRESSED = 1 | 压缩媒体内容类型。 | 216| MEDIA_LIBRARY_PICTURE_OBJECT = 2 | 图片对象媒体内容类型。 | 217 218 219## 函数说明 220 221### OH_MediaLibrary_OnDataPrepared() 222 223``` 224typedef void (*OH_MediaLibrary_OnDataPrepared)(int32_t result, MediaLibrary_RequestId requestId) 225``` 226 227**描述** 228 229当所请求的媒体资源准备完成时会触发回调。 230 231**起始版本:** 12 232 233 234**参数:** 235 236| 参数项 | 描述 | 237| -- | -- | 238| int32_t result | 请求资源处理的结果。 | 239| MediaLibrary_RequestId requestId | 请求Id。 | 240 241### OH_MediaLibrary_OnImageDataPrepared() 242 243``` 244typedef void (*OH_MediaLibrary_OnImageDataPrepared)(MediaLibrary_ErrorCode result,MediaLibrary_RequestId requestId, MediaLibrary_MediaQuality mediaQuality, MediaLibrary_MediaContentType type,OH_ImageSourceNative* imageSourceNative) 245``` 246 247**描述** 248 249当请求的图像源准备就绪时会触发回调。 250 251**起始版本:** 12 252 253 254**参数:** 255 256| 参数项 | 描述 | 257| -- | -- | 258| [MediaLibrary_ErrorCode](#medialibrary_errorcode) result | 处理所请求资源的结果[MediaLibrary_ErrorCode](#medialibrary_errorcode)。 | 259| [MediaLibrary_RequestId](capi-mediaassetmanager-medialibrary-requestid.md) requestId | 请求的[MediaLibrary_RequestId](capi-mediaassetmanager-medialibrary-requestid.md)。 | 260| [MediaLibrary_MediaQuality](#medialibrary_mediaquality) mediaQuality | 请求源的[MediaLibrary_MediaQuality](#medialibrary_mediaquality)。 | 261| [MediaLibrary_MediaContentType](capi-media-asset-base-capi-h.md#medialibrary_mediacontenttype) type | 请求源的[MediaLibrary_MediaContentType](capi-media-asset-base-capi-h.md#medialibrary_mediacontenttype)。 | 262| [OH_ImageSourceNative](../apis-image-kit/capi-image-nativemodule-oh-imagesourcenative.md)* imageSourceNative | 当请求的图像源准备就绪时获取[OH_ImageSourceNative](../apis-image-kit/capi-image-nativemodule-oh-imagesourcenative.md)。 | 263 264### OH_MediaLibrary_OnMovingPhotoDataPrepared() 265 266``` 267typedef void (*OH_MediaLibrary_OnMovingPhotoDataPrepared)(MediaLibrary_ErrorCode result,MediaLibrary_RequestId requestId, MediaLibrary_MediaQuality mediaQuality, MediaLibrary_MediaContentType type,OH_MovingPhoto* movingPhoto) 268``` 269 270**描述** 271 272当请求的动态照片准备就绪时会触发回调。 273 274**起始版本:** 13 275 276 277**参数:** 278 279| 参数项 | 描述 | 280| -- | -- | 281| [MediaLibrary_ErrorCode](#medialibrary_errorcode) result | 处理所请求资源的结果[MediaLibrary_ErrorCode](capi-media-asset-base-capi-h.md#medialibrary_errorcode)。 | 282| [MediaLibrary_RequestId](capi-mediaassetmanager-medialibrary-requestid.md) requestId | 请求的[MediaLibrary_RequestId](capi-mediaassetmanager-medialibrary-requestid.md)。 | 283| [MediaLibrary_MediaQuality](#medialibrary_mediaquality) mediaQuality | 请求资源的[MediaLibrary_MediaQuality](#medialibrary_mediaquality)。 | 284| [MediaLibrary_MediaContentType](capi-media-asset-base-capi-h.md#medialibrary_mediacontenttype) type | 请求资源的[MediaLibrary_MediaContentType](capi-media-asset-base-capi-h.md#medialibrary_mediacontenttype)。 | 285| [OH_MovingPhoto](capi-mediaassetmanager-oh-movingphoto.md)* movingPhoto | 当请求的动态图片准备就绪时获取[OH_MovingPhoto](capi-mediaassetmanager-oh-movingphoto.md)。 | 286 287 288