1# MediaAssetManager 2 3 4## 概述 5 6提供媒体库资源请求能力的API。 7 8对应的开发指南及样例可参考[使用MediaAssetManager请求图片资源](../../media/medialibrary/using-ndk-mediaassetmanager-for-request-resource.md)。 9 10**起始版本:** 12 11 12 13## 汇总 14 15 16### 文件 17 18| 名称 | 描述 | 19| -------- | -------- | 20| [media_access_helper_capi.h](media__access__helper__capi_8h.md) | 定义与相册管理模块相关的API。 | 21| [media_asset_base_capi.h](media__asset__base__capi_8h.md) | 定义了媒体资产管理器的结构和枚举。 | 22| [media_asset_capi.h](media__asset__capi_8h.md) | 定义与媒体资源相关的API。 | 23| [media_asset_change_request_capi.h](media__asset__change__request__capi_8h.md) | 定义与媒体资产更改请求相关的API。 | 24| [media_asset_manager_capi.h](media__asset__manager__capi_8h.md) | 定义媒体资产管理器的接口。 | 25| [moving_photo_capi.h](moving__photo__capi_8h.md) | 定义与动态照片相关的API。 | 26 27 28### 结构体 29 30| 名称 | 描述 | 31| -------- | -------- | 32| struct [MediaLibrary_RequestId](_media_library___request_id.md) | 定义请求Id。 | 33| struct [MediaLibrary_RequestOptions](_media_library___request_options.md) | 请求策略模式配置项。 | 34 35 36### 类型定义 37 38| 名称 | 描述 | 39| -------- | -------- | 40| typedef struct [OH_MediaAssetManager](#oh_mediaassetmanager) [OH_MediaAssetManager](#oh_mediaassetmanager) | 定义媒体资产管理器。 | 41| typedef struct [OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest) [OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest) | 定义媒体资产更改请求。 | 42| typedef struct [OH_MovingPhoto](#oh_movingphoto) [OH_MovingPhoto](#oh_movingphoto) | 定义动态照片。 | 43| typedef struct [OH_MediaAsset](#oh_mediaasset) [OH_MediaAsset](#oh_mediaasset) | 定义媒体资产。 | 44| typedef struct [MediaLibrary_RequestId](_media_library___request_id.md) [MediaLibrary_RequestId](#medialibrary_requestid) | 定义请求Id。 | 45| typedef enum [MediaLibrary_ErrorCode](#medialibrary_errorcode-1) [MediaLibrary_ErrorCode](#medialibrary_errorcode) | 媒体库错误代码的枚举。 | 46| typedef enum [MediaLibrary_DeliveryMode](#medialibrary_deliverymode-1) [MediaLibrary_DeliveryMode](#medialibrary_deliverymode) | 请求资源分发模式。 | 47| typedef struct [MediaLibrary_RequestOptions](_media_library___request_options.md) [MediaLibrary_RequestOptions](#medialibrary_requestoptions) | 请求策略模式配置项。 | 48| typedef enum [MediaLibrary_MediaType](#medialibrary_mediatype-1) [MediaLibrary_MediaType](#medialibrary_mediatype) | 媒体类型的枚举。 | 49| typedef enum [MediaLibrary_MediaSubType](#medialibrary_mediasubtype-1) [MediaLibrary_MediaSubType](#medialibrary_mediasubtype) | 媒体资源子类型的枚举。 | 50| typedef enum [MediaLibrary_ResourceType](#medialibrary_resourcetype-1) [MediaLibrary_ResourceType](#medialibrary_resourcetype) | 资源类型的枚举。 | 51| typedef enum [MediaLibrary_ImageFileType](#medialibrary_imagefiletype-1) [MediaLibrary_ImageFileType](#medialibrary_imagefiletype) | 图像文件类型的枚举。 | 52| typedef enum [MediaLibrary_MediaQuality](#medialibrary_mediaquality-1) [MediaLibrary_MediaQuality](#medialibrary_mediaquality) | 媒体资源质量枚举。 | 53| typedef enum [MediaLibrary_MediaContentType](#medialibrary_mediacontenttype-1) [MediaLibrary_MediaContentType](#medialibrary_mediacontenttype) | 媒体内容类型的枚举。 | 54| typedef void(\* [OH_MediaLibrary_OnDataPrepared](#oh_medialibrary_ondataprepared)) (int32_t result, [MediaLibrary_RequestId](_media_library___request_id.md) requestId) | 当所请求的媒体资源准备完成时会触发回调。 | 55| typedef void(\* [OH_MediaLibrary_OnImageDataPrepared](#oh_medialibrary_onimagedataprepared)) ([MediaLibrary_ErrorCode](#medialibrary_errorcode) result, [MediaLibrary_RequestId](_media_library___request_id.md) requestId, [MediaLibrary_MediaQuality](#medialibrary_mediaquality) mediaQuality, [MediaLibrary_MediaContentType](#medialibrary_mediacontenttype) type, OH_ImageSourceNative \*imageSourceNative) | 当请求的图像源准备就绪时调用。 | 56| typedef void(\* [OH_MediaLibrary_OnMovingPhotoDataPrepared](#oh_medialibrary_onmovingphotodataprepared)) ([MediaLibrary_ErrorCode](#medialibrary_errorcode) result, [MediaLibrary_RequestId](_media_library___request_id.md) requestId, [MediaLibrary_MediaQuality](#medialibrary_mediaquality) mediaQuality, [MediaLibrary_MediaContentType](#medialibrary_mediacontenttype) type, [OH_MovingPhoto](#oh_movingphoto) \*movingPhoto) | 当请求的动态照片准备就绪时调用。 | 57 58 59### 枚举 60 61| 名称 | 描述 | 62| -------- | -------- | 63| [MediaLibrary_ErrorCode](#medialibrary_errorcode-1) {<br/>MEDIA_LIBRARY_OK = 0,<br/>MEDIA_LIBRARY_PERMISSION_DENIED = 201,<br/>MEDIA_LIBRARY_PARAMETER_ERROR = 401,<br/>MEDIA_LIBRARY_NO_SUCH_FILE = 23800101,<br/>MEDIA_LIBRARY_INVALID_DISPLAY_NAME = 23800102,<br/>MEDIA_LIBRARY_INVALID_ASSET_URI = 23800103,<br/>MEDIA_LIBRARY_INVALID_PHOTO_KEY = 23800104,<br/>MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED = 23800201,<br/>MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR = 23800301<br/>} | 媒体库错误代码的枚举。 | 64| [MediaLibrary_DeliveryMode](#medialibrary_deliverymode-1) {<br/>MEDIA_LIBRARY_FAST_MODE = 0,<br/>MEDIA_LIBRARY_HIGH_QUALITY_MODE = 1,<br/>MEDIA_LIBRARY_BALANCED_MODE = 2 } | 请求资源分发模式。 | 65| [MediaLibrary_MediaType](#medialibrary_mediatype-1) {<br/>MEDIA_LIBRARY_IMAGE = 1,<br/>MEDIA_LIBRARY_VIDEO = 2 } | 媒体类型的枚举。 | 66| [MediaLibrary_MediaSubType](#medialibrary_mediasubtype-1) {<br/>MEDIA_LIBRARY_DEFAULT = 0,<br/>MEDIA_LIBRARY_MOVING_PHOTO = 3,<br/>MEDIA_LIBRARY_BURST = 4 } | 媒体资源子类型的枚举。 | 67| [MediaLibrary_ResourceType](#medialibrary_resourcetype-1) {<br/>MEDIA_LIBRARY_IMAGE_RESOURCE = 1,<br/>MEDIA_LIBRARY_VIDEO_RESOURCE = 2 } | 资源类型的枚举。 | 68| [MediaLibrary_ImageFileType](#medialibrary_imagefiletype-1) {<br/>MEDIA_LIBRARY_IMAGE_JPEG = 1 } | 图像文件类型的枚举。 | 69| [MediaLibrary_MediaQuality](#medialibrary_mediaquality-1) {<br/>MEDIA_LIBRARY_QUALITY_FAST = 1,<br/>MEDIA_LIBRARY_QUALITY_FULL = 2 } | 媒体资源质量枚举。 | 70| [MediaLibrary_MediaContentType](#medialibrary_mediacontenttype-1) {<br/>MEDIA_LIBRARY_COMPRESSED = 1,<br/>MEDIA_LIBRARY_PICTURE_OBJECT = 2 } | 媒体内容类型的枚举。 | 71 72 73### 函数 74 75| 名称 | 描述 | 76| -------- | -------- | 77| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAccessHelper_ApplyChanges](#oh_mediaaccesshelper_applychanges) ([OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest) \*changeRequest) | 发起应用资产或相册的更改请求。 | 78| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAsset_GetUri](#oh_mediaasset_geturi) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset, const char \*\*uri) | 获取媒体资产的uri。 | 79| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAsset_GetMediaType](#oh_mediaasset_getmediatype) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset, [MediaLibrary_MediaType](#medialibrary_mediatype) \*mediaType) | 获取媒体资源类型。 | 80| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAsset_GetMediaSubType](#oh_mediaasset_getmediasubtype) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset, [MediaLibrary_MediaSubType](#medialibrary_mediasubtype) \*mediaSubType) | 获取媒体资源子类型。 | 81| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAsset_GetDisplayName](#oh_mediaasset_getdisplayname) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset, const char \*\*displayName) | 获取媒体资源的显示名称。 | 82| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAsset_GetSize](#oh_mediaasset_getsize) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset, uint32_t \*size) | 获取媒体资产的文件大小。 | 83| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAsset_GetDateAdded](#oh_mediaasset_getdateadded) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset, uint32_t \*dateAdded) | 获取资产添加日期。 | 84| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAsset_GetDateModified](#oh_mediaasset_getdatemodified) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset, uint32_t \*dateModified) | 获取资产的修改日期。 | 85| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAsset_GetDateTaken](#oh_mediaasset_getdatetaken) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset, uint32_t \*dateTaken) | 获取资产的拍摄日期。 | 86| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAsset_GetDateAddedMs](#oh_mediaasset_getdateaddedms) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset, uint32_t \*dateAddedMs) | 获取资产的添加时间(毫秒)。 | 87| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAsset_GetDateModifiedMs](#oh_mediaasset_getdatemodifiedms) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset, uint32_t \*dateModifiedMs) | 获取资产的修改时间(毫秒)。 | 88| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAsset_GetDuration](#oh_mediaasset_getduration) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset, uint32_t \*duration) | 获取媒体资源的持续时间(毫秒)。 | 89| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAsset_GetWidth](#oh_mediaasset_getwidth) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset, uint32_t \*width) | 获取媒体资源的图像宽度(像素)。 | 90| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAsset_GetHeight](#oh_mediaasset_getheight) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset, uint32_t \*height) | 获取媒体资源的图像高度(像素)。 | 91| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAsset_GetOrientation](#oh_mediaasset_getorientation) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset, uint32_t \*orientation) | 获取图像的旋转角度,单位为度。 | 92| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAsset_IsFavorite](#oh_mediaasset_isfavorite) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset, uint32_t \*favorite) | 获取资产的收藏状态。 | 93| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAsset_GetTitle](#oh_mediaasset_gettitle) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset, const char \*\*title) | 获取媒体资产的标题。 | 94| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAsset_Release](#oh_mediaasset_release) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset) | 释放媒体资产 | 95| [OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest) \* [OH_MediaAssetChangeRequest_Create](#oh_mediaassetchangerequest_create) ([OH_MediaAsset](#oh_mediaasset) \*mediaAsset) | 创建[OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest)实例。 | 96| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAssetChangeRequest_AddResourceWithUri](#oh_mediaassetchangerequest_addresourcewithuri) ([OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest) \*changeRequest, [MediaLibrary_ResourceType](#medialibrary_resourcetype) resourceType, char \*fileUri) | 通过文件uri添加资源。 | 97| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAssetChangeRequest_AddResourceWithBuffer](#oh_mediaassetchangerequest_addresourcewithbuffer) ([OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest) \*changeRequest, [MediaLibrary_ResourceType](#medialibrary_resourcetype) resourceType, uint8_t \*buffer, uint32_t length) | 通过ArrayBuffer数据添加资源。 | 98| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAssetChangeRequest_GetWriteCacheHandler](#oh_mediaassetchangerequest_getwritecachehandler) ([OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest) \*changeRequest, int32_t \*fd) | 获取临时文件写句柄。 | 99| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAssetChangeRequest_SaveCameraPhoto](#oh_mediaassetchangerequest_savecameraphoto) ([OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest) \*changeRequest, [MediaLibrary_ImageFileType](#medialibrary_imagefiletype) imageFileType) | 保存相机拍摄的照片资源。 | 100| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAssetChangeRequest_DiscardCameraPhoto](#oh_mediaassetchangerequest_discardcameraphoto) ([OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest) \*changeRequest) | 丢弃相机拍摄的照片资源。 | 101| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAssetChangeRequest_Release](#oh_mediaassetchangerequest_release) ([OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest) \*changeRequest) | 释放[OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest)实例。 | 102| [OH_MediaAssetManager](#oh_mediaassetmanager) \* [OH_MediaAssetManager_Create](#oh_mediaassetmanager_create) (void) | 创建一个媒体资产管理器。 | 103| [MediaLibrary_RequestId](_media_library___request_id.md) [OH_MediaAssetManager_RequestImageForPath](#oh_mediaassetmanager_requestimageforpath) ([OH_MediaAssetManager](#oh_mediaassetmanager) \*manager, const char \*uri, [MediaLibrary_RequestOptions](_media_library___request_options.md) requestOptions, const char \*destPath, [OH_MediaLibrary_OnDataPrepared](#oh_medialibrary_ondataprepared) callback) | 请求具有目标路径的图像资源。 | 104| [MediaLibrary_RequestId](_media_library___request_id.md) [OH_MediaAssetManager_RequestVideoForPath](#oh_mediaassetmanager_requestvideoforpath) ([OH_MediaAssetManager](#oh_mediaassetmanager) \*manager, const char \*uri, [MediaLibrary_RequestOptions](_media_library___request_options.md) requestOptions, const char \*destPath, [OH_MediaLibrary_OnDataPrepared](#oh_medialibrary_ondataprepared) callback) | 请求具有目标路径的视频资源。 | 105| bool [OH_MediaAssetManager_CancelRequest](#oh_mediaassetmanager_cancelrequest) ([OH_MediaAssetManager](#oh_mediaassetmanager) \*manager, const [MediaLibrary_RequestId](_media_library___request_id.md) requestId) | 通过请求Id取消请求。 | 106| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAssetManager_RequestMovingPhoto](#oh_mediaassetmanager_requestmovingphoto) ([OH_MediaAssetManager](#oh_mediaassetmanager) \*manager, [OH_MediaAsset](#oh_mediaasset) \*mediaAsset, [MediaLibrary_RequestOptions](_media_library___request_options.md) requestOptions, [MediaLibrary_RequestId](_media_library___request_id.md) \*requestId, [OH_MediaLibrary_OnMovingPhotoDataPrepared](#oh_medialibrary_onmovingphotodataprepared) callback) | 根据不同的策略模式请求动态照片资源。 | 107| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAssetManager_RequestImage](#oh_mediaassetmanager_requestimage) ([OH_MediaAssetManager](#oh_mediaassetmanager) \*manager, [OH_MediaAsset](#oh_mediaasset) \*mediaAsset, [MediaLibrary_RequestOptions](_media_library___request_options.md) requestOptions, [MediaLibrary_RequestId](_media_library___request_id.md) \*requestId, [OH_MediaLibrary_OnImageDataPrepared](#oh_medialibrary_onimagedataprepared) callback) | 根据不同的策略模式请求图像资源。 | 108| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MediaAssetManager_Release](#oh_mediaassetmanager_release) ([OH_MediaAssetManager](#oh_mediaassetmanager) \*manager) | 释放[OH_MediaAssetManager](#oh_mediaassetmanager)实例。 | 109| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MovingPhoto_GetUri](#oh_movingphoto_geturi) ([OH_MovingPhoto](#oh_movingphoto) \*movingPhoto, const char \*\*uri) | 获取动态照片的uri。 | 110| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MovingPhoto_RequestContentWithUris](#oh_movingphoto_requestcontentwithuris) ([OH_MovingPhoto](#oh_movingphoto) \*movingPhoto, char \*imageUri, char \*videoUri) | 同时请求动态照片的图片内容和视频内容,并写入参数指定的对应的uri中。 | 111| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MovingPhoto_RequestContentWithUri](#oh_movingphoto_requestcontentwithuri) ([OH_MovingPhoto](#oh_movingphoto) \*movingPhoto, [MediaLibrary_ResourceType](#medialibrary_resourcetype) resourceType, char \*uri) | 请求指定资源类型的动态照片内容,并写入参数指定的uri中。 | 112| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MovingPhoto_RequestContentWithBuffer](#oh_movingphoto_requestcontentwithbuffer) ([OH_MovingPhoto](#oh_movingphoto) \*movingPhoto, [MediaLibrary_ResourceType](#medialibrary_resourcetype) resourceType, const uint8_t \*\*buffer, uint32_t \*size) | 请求指定资源类型的动态照片内容,以ArrayBuffer的形式返回。 | 113| [MediaLibrary_ErrorCode](#medialibrary_errorcode) [OH_MovingPhoto_Release](#oh_movingphoto_release) ([OH_MovingPhoto](#oh_movingphoto) \*movingPhoto) | Release [OH_MovingPhoto](#oh_movingphoto)实例。 | 114 115 116## 类型定义说明 117 118 119### MediaLibrary_DeliveryMode 120 121``` 122typedef enum MediaLibrary_DeliveryMode MediaLibrary_DeliveryMode 123``` 124**描述** 125请求资源分发模式。 126 127此枚举定义了请求资源的分发模式。 128 129- 快速分发:不考虑资源质量,直接基于现有资源返回。 130 131- 高质量分发:返回高质量资源,若没有,则触发生成高质量资源,成功后才返回。 132 133- 均衡分发:若存在高质量资源,则直接返回高质量资源。 否则,先返回低质量资源,并触发生成高质量资源,成功后再返回一次高质量资源。 134 135**起始版本:** 12 136 137 138### MediaLibrary_ErrorCode 139 140``` 141typedef enum MediaLibrary_ErrorCode MediaLibrary_ErrorCode 142``` 143**描述** 144媒体库错误代码的枚举。 145 146**起始版本:** 12 147 148 149### MediaLibrary_ImageFileType 150 151``` 152typedef enum MediaLibrary_ImageFileType MediaLibrary_ImageFileType 153``` 154**描述** 155图像文件类型的枚举。 156 157**起始版本:** 12 158 159 160### MediaLibrary_MediaContentType 161 162``` 163typedef enum MediaLibrary_MediaContentType MediaLibrary_MediaContentType 164``` 165**描述** 166媒体内容类型的枚举。 167 168**起始版本:** 12 169 170 171### MediaLibrary_MediaQuality 172 173``` 174typedef enum MediaLibrary_MediaQuality MediaLibrary_MediaQuality 175``` 176**描述** 177媒体资源质量枚举。 178 179此枚举与请求媒体资源时定义的分发模式有关。 180 181- 快速分发:不考虑资源质量,直接基于现有资源返回。 182 183- 高质量分发:返回高质量资源,若没有,则触发生成高质量资源,成功后才返回。 184 185- 均衡分发:若存在高质量资源,则直接返回高质量资源。 否则,先返回低质量资源,并触发生成高质量资源,成功后再返回一次高质量资源。 186 187**起始版本:** 12 188 189 190### MediaLibrary_MediaSubType 191 192``` 193typedef enum MediaLibrary_MediaSubType MediaLibrary_MediaSubType 194``` 195**描述** 196媒体资源子类型的枚举。 197 198**起始版本:** 12 199 200 201### MediaLibrary_MediaType 202 203``` 204typedef enum MediaLibrary_MediaType MediaLibrary_MediaType 205``` 206**描述** 207媒体类型的枚举。 208 209**起始版本:** 12 210 211 212### MediaLibrary_RequestId 213 214``` 215typedef struct MediaLibrary_RequestId MediaLibrary_RequestId 216``` 217**描述** 218定义请求Id。 219 220当请求媒体库资源时,会返回此类型。 请求Id用于取消请求。 如果请求失败,值将全为零,如 "00000000-0000-0000-0000-000000000000"。 221 222**起始版本:** 12 223 224 225### MediaLibrary_RequestOptions 226 227``` 228typedef struct MediaLibrary_RequestOptions MediaLibrary_RequestOptions 229``` 230**描述** 231请求策略模式配置项。 232 233此结构体为媒体资源请求策略模式配置项。 234 235**起始版本:** 12 236 237 238### MediaLibrary_ResourceType 239 240``` 241typedef enum MediaLibrary_ResourceType MediaLibrary_ResourceType 242``` 243**描述** 244资源类型的枚举。 245 246**起始版本:** 12 247 248 249### OH_MediaAsset 250 251``` 252typedef struct OH_MediaAsset OH_MediaAsset 253``` 254**描述** 255定义媒体资产。 256 257此结构体提供了封装文件资源属性的能力。 258 259**起始版本:** 12 260 261 262### OH_MediaAssetChangeRequest 263 264``` 265typedef struct OH_MediaAssetChangeRequest OH_MediaAssetChangeRequest 266``` 267**描述** 268定义媒体资产更改请求。 269 270此结构体提供了处理媒体资产更改请求的能力。 271 272**起始版本:** 12 273 274 275### OH_MediaAssetManager 276 277``` 278typedef struct OH_MediaAssetManager OH_MediaAssetManager 279``` 280**描述** 281定义媒体资产管理器。 282 283此结构提供了请求媒体库资源的能力。 如果创建失败,则返回空指针。 284 285**起始版本:** 12 286 287 288### OH_MediaLibrary_OnDataPrepared 289 290``` 291typedef void (*OH_MediaLibrary_OnDataPrepared)(int32_t result, MediaLibrary_RequestId requestId) 292``` 293**描述** 294当所请求的媒体资源准备完成时会触发回调。 295 296**起始版本:** 12 297 298**参数:** 299 300| 名称 | 描述 | 301| -------- | -------- | 302| result | 请求资源处理的结果。 | 303| requestId | 请求Id。 | 304 305 306### OH_MediaLibrary_OnImageDataPrepared 307 308``` 309typedef void (*OH_MediaLibrary_OnImageDataPrepared)(MediaLibrary_ErrorCode result, MediaLibrary_RequestId requestId, MediaLibrary_MediaQuality mediaQuality, MediaLibrary_MediaContentType type, OH_ImageSourceNative* imageSourceNative) 310``` 311**描述** 312当请求的图像源准备就绪时调用。 313 314当所请求的图像源准备就绪时,会调用此函数。 315 316**起始版本:** 12 317 318**参数:** 319 320| 名称 | 描述 | 321| -------- | -------- | 322| result | 处理所请求资源的结果[MediaLibrary_ErrorCode](#medialibrary_errorcode-1)。 | 323| requestId | 请求的[MediaLibrary_RequestId](_media_library___request_id.md)。 | 324| mediaQuality | 请求源的[MediaLibrary_MediaQuality](#medialibrary_mediaquality-1)。 | 325| type | 请求源的[MediaLibrary_MediaContentType](#medialibrary_mediacontenttype-1)。 | 326| imageSourceNative | 当请求的图像源准备就绪时获取[OH_ImageSourceNative](../apis-image-kit/_image___native_module.md#oh_imagesourcenative)。 | 327 328 329### OH_MediaLibrary_OnMovingPhotoDataPrepared 330 331``` 332typedef void (*OH_MediaLibrary_OnMovingPhotoDataPrepared)(MediaLibrary_ErrorCode result, MediaLibrary_RequestId requestId, MediaLibrary_MediaQuality mediaQuality, MediaLibrary_MediaContentType type, OH_MovingPhoto* movingPhoto) 333``` 334**描述** 335当请求的动态照片准备就绪时调用。 336 337当所请求的动态照片准备就绪时,会调用此函数。 338 339**起始版本:** 13 340 341**参数:** 342 343| 名称 | 描述 | 344| -------- | -------- | 345| result | 处理所请求资源的结果[MediaLibrary_ErrorCode](#medialibrary_errorcode-1)。 | 346| requestId | 请求的[MediaLibrary_RequestId](_media_library___request_id.md)。 | 347| mediaQuality | 请求资源的[MediaLibrary_MediaQuality](#medialibrary_mediaquality-1)。 | 348| type | 请求资源的[MediaLibrary_MediaContentType](#medialibrary_mediacontenttype-1)。 | 349| movingPhoto | 当请求的动态图片准备就绪时获取[OH_MovingPhoto](#oh_movingphoto)。 | 350 351 352### OH_MovingPhoto 353 354``` 355typedef struct OH_MovingPhoto OH_MovingPhoto 356``` 357**描述** 358定义动态照片。 359 360此结构体提供了获取关于动态照片的信息的能力。 361 362**起始版本:** 13 363 364 365## 枚举类型说明 366 367 368### MediaLibrary_DeliveryMode 369 370``` 371enum MediaLibrary_DeliveryMode 372``` 373**描述** 374请求资源分发模式。 375 376此枚举定义了请求资源的分发模式。 377 378- 快速分发:不考虑资源质量,直接基于现有资源返回。 379 380- 高质量分发:返回高质量资源,若没有,则触发生成高质量资源,成功后才返回。 381 382- 均衡分发:若存在高质量资源,则直接返回高质量资源。 否则,先返回低质量资源,并触发生成高质量资源,成功后再返回一次高质量资源。 383 384**起始版本:** 12 385 386| 枚举值 | 描述 | 387| -------- | -------- | 388| MEDIA_LIBRARY_FAST_MODE | 快速分发。 | 389| MEDIA_LIBRARY_HIGH_QUALITY_MODE | 高质量分发。 | 390| MEDIA_LIBRARY_BALANCED_MODE | 均衡分发。 | 391 392 393### MediaLibrary_ErrorCode 394 395``` 396enum MediaLibrary_ErrorCode 397``` 398**描述** 399媒体库错误代码的枚举。 400 401**起始版本:** 12 402 403| 枚举值 | 描述 | 404| -------- | -------- | 405| MEDIA_LIBRARY_OK | 媒体库结果正常。 | 406| MEDIA_LIBRARY_PERMISSION_DENIED | 权限被拒绝。 | 407| MEDIA_LIBRARY_PARAMETER_ERROR | 强制参数未指定,参数类型不正确或参数验证失败。 | 408| MEDIA_LIBRARY_NO_SUCH_FILE | 文件不存在。 | 409| MEDIA_LIBRARY_INVALID_DISPLAY_NAME | 显示名称无效。 | 410| MEDIA_LIBRARY_INVALID_ASSET_URI | 资产uri无效。 | 411| MEDIA_LIBRARY_INVALID_PHOTO_KEY | PhotoKey无效。 | 412| MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED | 不支持该操作。 | 413| MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR | 内部系统错误。 建议重试并检查日志。 可能的原因:<br/>1. 数据库已损坏。<br/>2. 文件系统异常。<br/>3. IPC请求超时。 | 414 415 416### MediaLibrary_ImageFileType 417 418``` 419enum MediaLibrary_ImageFileType 420``` 421**描述** 422图像文件类型的枚举。 423 424**起始版本:** 12 425 426| 枚举值 | 描述 | 427| -------- | -------- | 428| MEDIA_LIBRARY_IMAGE_JPEG | JPEG类型。 | 429 430 431### MediaLibrary_MediaContentType 432 433``` 434enum MediaLibrary_MediaContentType 435``` 436**描述** 437媒体内容类型的枚举。 438 439**起始版本:** 12 440 441| 枚举值 | 描述 | 442| -------- | -------- | 443| MEDIA_LIBRARY_COMPRESSED | 压缩媒体内容类型。 | 444| MEDIA_LIBRARY_PICTURE_OBJECT | 图片对象媒体内容类型。 | 445 446 447### MediaLibrary_MediaQuality 448 449``` 450enum MediaLibrary_MediaQuality 451``` 452**描述** 453媒体资源质量枚举。 454 455此枚举与请求媒体资源时定义的分发模式有关。 456 457- 快速分发:不考虑资源质量,直接基于现有资源返回。 458 459- 高质量分发:返回高质量资源,若没有,则触发生成高质量资源,成功后才返回。 460 461- 均衡分发:若存在高质量资源,则直接返回高质量资源。 否则,先返回低质量资源,并触发生成高质量资源,成功后再返回一次高质量资源。 462 463**起始版本:** 12 464 465| 枚举值 | 描述 | 466| -------- | -------- | 467| MEDIA_LIBRARY_QUALITY_FAST | 不考虑资源质量,直接返回的现有资源。 | 468| MEDIA_LIBRARY_QUALITY_FULL | 高质量资源。 | 469 470 471### MediaLibrary_MediaSubType 472 473``` 474enum MediaLibrary_MediaSubType 475``` 476**描述** 477媒体资源子类型的枚举。 478 479**起始版本:** 12 480 481| 枚举值 | 描述 | 482| -------- | -------- | 483| MEDIA_LIBRARY_DEFAULT | 默认照片类型。 | 484| MEDIA_LIBRARY_MOVING_PHOTO | 动态照片类型。 | 485| MEDIA_LIBRARY_BURST | 连拍照片类型。 | 486 487 488### MediaLibrary_MediaType 489 490``` 491enum MediaLibrary_MediaType 492``` 493**描述** 494媒体类型的枚举。 495 496**起始版本:** 12 497 498| 枚举值 | 描述 | 499| -------- | -------- | 500| MEDIA_LIBRARY_IMAGE | 图像资产。 | 501| MEDIA_LIBRARY_VIDEO | 视频资产。 | 502 503 504### MediaLibrary_ResourceType 505 506``` 507enum MediaLibrary_ResourceType 508``` 509**描述** 510资源类型的枚举。 511 512**起始版本:** 12 513 514| 枚举值 | 描述 | 515| -------- | -------- | 516| MEDIA_LIBRARY_IMAGE_RESOURCE | 图像资源。 | 517| MEDIA_LIBRARY_VIDEO_RESOURCE | 视频资源。 | 518 519 520## 函数说明 521 522 523### OH_MediaAccessHelper_ApplyChanges() 524 525``` 526MediaLibrary_ErrorCode OH_MediaAccessHelper_ApplyChanges(OH_MediaAssetChangeRequest* changeRequest) 527``` 528**描述** 529发起应用资产或相册的更改请求。 530 531**起始版本:** 12 532 533**参数:** 534 535| 名称 | 描述 | 536| -------- | -------- | 537| changeRequest | 变更请求实例[OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest)。 | 538 539**需要权限:** 540 541ohos.permission.WRITE_IMAGEVIDEO 542 543**返回:** 544 545错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 546 547- MEDIA_LIBRARY_OK:方法调用成功。 548 549- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 550 可能的原因: 551 1. 未指定强制参数。 552 2. 参数类型不正确。 553 3. 参数验证失败。 554 555- MEDIA_LIBRARY_PERMISSION_DENIED:没有权限。 556 557- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 558 559 560### OH_MediaAsset_GetDateAdded() 561 562``` 563ediaLibrary_ErrorCode OH_MediaAsset_GetDateAdded(OH_MediaAsset* mediaAsset, uint32_t* dateAdded) 564``` 565**描述** 566获取资产添加日期。 567 568**起始版本:** 13 569 570**参数:** 571 572| 名称 | 描述 | 573| -------- | -------- | 574| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 575| dateAdded | 资产添加日期。该值是添加文件时间距1970年1月1日的秒数值。 | 576 577**返回:** 578 579错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 580 581- MEDIA_LIBRARY_OK:方法调用成功。 582 583- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 584 可能的原因: 585 1. 未指定强制参数。 586 2. 参数类型不正确。 587 3. 参数验证失败。 588 589- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 590 591 592### OH_MediaAsset_GetDateAddedMs() 593 594``` 595MediaLibrary_ErrorCode OH_MediaAsset_GetDateAddedMs(OH_MediaAsset* mediaAsset, uint32_t* dateAddedMs) 596``` 597**描述** 598获取资产的添加时间(毫秒)。 599 600**起始版本:** 13 601 602**参数:** 603 604| 名称 | 描述 | 605| -------- | -------- | 606| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 607| dateAddedMs | 资产的添加时间(毫秒)。 该值是添加文件时间距1970年1月1日的毫秒数值。 | 608 609**返回:** 610 611错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 612 613- MEDIA_LIBRARY_OK:方法调用成功。 614 615- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 616 可能的原因: 617 1. 未指定强制参数。 618 2. 参数类型不正确。 619 3. 参数验证失败。 620 621- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 622 623 624### OH_MediaAsset_GetDateModified() 625 626``` 627MediaLibrary_ErrorCode OH_MediaAsset_GetDateModified(OH_MediaAsset* mediaAsset, uint32_t* dateModified) 628``` 629**描述** 630获取资产的修改日期。 631 632**起始版本:** 13 633 634**参数:** 635 636| 名称 | 描述 | 637| -------- | -------- | 638| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 639| dateModified | 资产的修改日期。该值是修改文件时间距1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新。 | 640 641**返回:** 642 643错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 644 645- MEDIA_LIBRARY_OK:方法调用成功。 646 647- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 648 可能的原因: 649 1. 未指定强制参数。 650 2. 参数类型不正确。 651 3. 参数验证失败。 652 653- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 654 655 656### OH_MediaAsset_GetDateModifiedMs() 657 658``` 659MediaLibrary_ErrorCode OH_MediaAsset_GetDateModifiedMs(OH_MediaAsset* mediaAsset, uint32_t* dateModifiedMs) 660``` 661**描述** 662获取资产的修改时间(毫秒)。 663 664**起始版本:** 12 665 666**参数:** 667 668| 名称 | 描述 | 669| -------- | -------- | 670| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 671| dateModifiedMs | 资产的修改时间(毫秒)。该值是修改文件时间距1970年1月1日的毫秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新。 | 672 673**返回:** 674 675错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 676 677- MEDIA_LIBRARY_OK:方法调用成功。 678 679- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 680 可能的原因: 681 1. 未指定强制参数。 682 2. 参数类型不正确。 683 3. 参数验证失败。 684 685- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 686 687 688### OH_MediaAsset_GetDateTaken() 689 690``` 691MediaLibrary_ErrorCode OH_MediaAsset_GetDateTaken(OH_MediaAsset* mediaAsset, uint32_t* dateTaken) 692``` 693**描述** 694获取资产的拍摄日期。 695 696**起始版本:** 13 697 698**参数:** 699 700| 名称 | 描述 | 701| -------- | -------- | 702| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 703| dateTaken | 资产的拍摄日期。该值是文件拍照时间距1970年1月1日的秒数值。 | 704 705**返回:** 706 707错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 708 709- MEDIA_LIBRARY_OK:方法调用成功。 710 711- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 712 可能的原因: 713 1. 未指定强制参数。 714 2. 参数类型不正确。 715 3. 参数验证失败。 716 717- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 718 719 720### OH_MediaAsset_GetDisplayName() 721 722``` 723MediaLibrary_ErrorCode OH_MediaAsset_GetDisplayName(OH_MediaAsset* mediaAsset, const char** displayName) 724``` 725**描述** 726获取媒体资源的显示名称。 727 728**起始版本:** 12 729 730**参数:** 731 732| 名称 | 描述 | 733| -------- | -------- | 734| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 735| displayName | 媒体资源的显示名称。 | 736 737**返回:** 738 739错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 740 741- MEDIA_LIBRARY_OK:方法调用成功。 742 743- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 744 可能的原因: 745 1. 未指定强制参数。 746 2. 参数类型不正确。 747 3. 参数验证失败。 748 749- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 750 751 752### OH_MediaAsset_GetDuration() 753 754``` 755MediaLibrary_ErrorCode OH_MediaAsset_GetDuration(OH_MediaAsset* mediaAsset, uint32_t* duration) 756``` 757**描述** 758获取媒体资源的持续时间(毫秒)。 759 760**起始版本:** 13 761 762**参数:** 763 764| 名称 | 描述 | 765| -------- | -------- | 766| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 767| duration | 媒体资源的持续时间(毫秒)。 | 768 769**返回:** 770 771错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 772 773- MEDIA_LIBRARY_OK:方法调用成功。 774 775- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 776 可能的原因: 777 1. 未指定强制参数。 778 2. 参数类型不正确。 779 3. 参数验证失败。 780 781- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 782 783 784### OH_MediaAsset_GetHeight() 785 786``` 787MediaLibrary_ErrorCode OH_MediaAsset_GetHeight(OH_MediaAsset* mediaAsset, uint32_t* height) 788``` 789**描述** 790获取媒体资源的图像高度(像素)。 791 792**起始版本:** 12 793 794**参数:** 795 796| 名称 | 描述 | 797| -------- | -------- | 798| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 799| height | 媒体资源的图像高度(像素)。 | 800 801**返回:** 802 803错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 804 805- MEDIA_LIBRARY_OK:方法调用成功。 806 807- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 808 可能的原因: 809 1. 未指定强制参数。 810 2. 参数类型不正确。 811 3. 参数验证失败。 812 813- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 814 815### OH_MediaAsset_GetMediaSubType() 816 817``` 818MediaLibrary_ErrorCode OH_MediaAsset_GetMediaSubType(OH_MediaAsset* mediaAsset, MediaLibrary_MediaSubType* mediaSubType) 819``` 820**描述** 821获取媒体资源子类型。 822 823**起始版本:** 13 824 825**参数:** 826 827| 名称 | 描述 | 828| -------- | -------- | 829| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 830| mediaSubType | 媒体资源子类型。 | 831 832**返回:** 833 834错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 835 836- MEDIA_LIBRARY_OK:方法调用成功。 837 838- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 839 可能的原因: 840 1. 未指定强制参数。 841 2. 参数类型不正确。 842 3. 参数验证失败。 843 844- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 845 846### OH_MediaAsset_GetMediaType() 847 848``` 849MediaLibrary_ErrorCode OH_MediaAsset_GetMediaType(OH_MediaAsset* mediaAsset, MediaLibrary_MediaType* mediaType) 850``` 851**描述** 852获取媒体资源类型。 853 854**起始版本:** 13 855 856**参数:** 857 858| 名称 | 描述 | 859| -------- | -------- | 860| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 861| mediaType | 媒体资源类型。 | 862 863**返回:** 864 865错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 866 867- MEDIA_LIBRARY_OK:方法调用成功。 868 869- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 870 可能的原因: 871 1. 未指定强制参数。 872 2. 参数类型不正确。 873 3. 参数验证失败。 874 875- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 876 877 878### OH_MediaAsset_GetOrientation() 879 880``` 881MediaLibrary_ErrorCode OH_MediaAsset_GetOrientation(OH_MediaAsset* mediaAsset, uint32_t* orientation) 882``` 883**描述** 884获取图像的旋转角度,单位为度。 885 886**起始版本:** 12 887 888**参数:** 889 890| 名称 | 描述 | 891| -------- | -------- | 892| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 893| orientation | 图像的旋转角度,单位为度。 | 894 895**返回:** 896 897错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 898 899- MEDIA_LIBRARY_OK:方法调用成功。 900 901- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 902 可能的原因: 903 1. 未指定强制参数。 904 2. 参数类型不正确。 905 3. 参数验证失败。 906 907- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 908 909 910### OH_MediaAsset_GetSize() 911 912``` 913MediaLibrary_ErrorCode OH_MediaAsset_GetSize(OH_MediaAsset* mediaAsset, uint32_t* size) 914``` 915**描述** 916获取媒体资产的文件大小。 917 918**起始版本:** 12 919 920**参数:** 921 922| 名称 | 描述 | 923| -------- | -------- | 924| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 925| size | 媒体资源的文件大小(以字节为单位)。 | 926 927**返回:** 928 929错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 930 931- MEDIA_LIBRARY_OK:方法调用成功。 932 933- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 934 可能的原因: 935 1. 未指定强制参数。 936 2. 参数类型不正确。 937 3. 参数验证失败。 938 939- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 940 941 942### OH_MediaAsset_GetTitle() 943 944``` 945MediaLibrary_ErrorCode OH_MediaAsset_GetTitle(OH_MediaAsset* mediaAsset, const char** title) 946``` 947**描述** 948获取媒体资产的标题。 949 950**起始版本:** 13 951 952**参数:** 953 954| 名称 | 描述 | 955| -------- | -------- | 956| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 957| title | 媒体资产的标题。 | 958 959**返回:** 960 961错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 962 963- MEDIA_LIBRARY_OK:方法调用成功。 964 965- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 966 可能的原因: 967 1. 未指定强制参数。 968 2. 参数类型不正确。 969 3. 参数验证失败。 970 971- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 972 973 974### OH_MediaAsset_GetUri() 975 976``` 977MediaLibrary_ErrorCode OH_MediaAsset_GetUri(OH_MediaAsset* mediaAsset, const char** uri) 978``` 979**描述** 980获取媒体资产的uri。 981 982**起始版本:** 12 983 984**参数:** 985 986| 名称 | 描述 | 987| -------- | -------- | 988| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 989| uri | 媒体资产的uri。 | 990 991**返回:** 992 993错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 994 995- MEDIA_LIBRARY_OK:方法调用成功。 996 997- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 998 可能的原因: 999 1. 未指定强制参数。 1000 2. 参数类型不正确。 1001 3. 参数验证失败。 1002 1003- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 1004 1005 1006### OH_MediaAsset_GetWidth() 1007 1008``` 1009MediaLibrary_ErrorCode OH_MediaAsset_GetWidth(OH_MediaAsset* mediaAsset, uint32_t* width) 1010``` 1011**描述** 1012获取媒体资源的图像宽度(像素)。 1013 1014**起始版本:** 12 1015 1016**参数:** 1017 1018| 名称 | 描述 | 1019| -------- | -------- | 1020| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 1021| width | 媒体资源的图像宽度(像素)。 | 1022 1023**返回:** 1024 1025错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1026 1027- MEDIA_LIBRARY_OK:方法调用成功。 1028 1029- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1030 可能的原因: 1031 1. 未指定强制参数。 1032 2. 参数类型不正确。 1033 3. 参数验证失败。 1034 1035- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 1036 1037 1038### OH_MediaAsset_IsFavorite() 1039 1040``` 1041MediaLibrary_ErrorCode OH_MediaAsset_IsFavorite(OH_MediaAsset* mediaAsset, uint32_t* favorite) 1042``` 1043**描述** 1044获取资产的收藏状态。 1045 1046**起始版本:** 13 1047 1048**参数:** 1049 1050| 名称 | 描述 | 1051| -------- | -------- | 1052| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 1053| favorite | 资产的收藏状态。 | 1054 1055**返回:** 1056 1057错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1058 1059- MEDIA_LIBRARY_OK:方法调用成功。 1060 1061- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1062 可能的原因: 1063 1. 未指定强制参数。 1064 2. 参数类型不正确。 1065 3. 参数验证失败。 1066 1067- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 1068 1069 1070### OH_MediaAsset_Release() 1071 1072``` 1073MediaLibrary_ErrorCode OH_MediaAsset_Release(OH_MediaAsset* mediaAsset) 1074``` 1075**描述** 1076释放媒体资产 1077 1078**起始版本:** 12 1079 1080**参数:** 1081 1082| 名称 | 描述 | 1083| -------- | -------- | 1084| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 1085 1086**返回:** 1087 1088错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1089 1090- MEDIA_LIBRARY_OK:方法调用成功。 1091 1092- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1093 可能的原因: 1094 1. 未指定强制参数。 1095 2. 参数类型不正确。 1096 3. 参数验证失败。 1097 1098- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 1099 1100 1101### OH_MediaAssetChangeRequest_AddResourceWithBuffer() 1102 1103``` 1104MediaLibrary_ErrorCode OH_MediaAssetChangeRequest_AddResourceWithBuffer(OH_MediaAssetChangeRequest* changeRequest, MediaLibrary_ResourceType resourceType, uint8_t* buffer, uint32_t length) 1105``` 1106**描述** 1107通过ArrayBuffer数据添加资源。 1108 1109**起始版本:** 12 1110 1111**参数:** 1112 1113| 名称 | 描述 | 1114| -------- | -------- | 1115| changeRequest | [OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest)实例。 | 1116| resourceType | 要添加的资源的[MediaLibrary_ResourceType](#medialibrary_resourcetype)。 | 1117| buffer | 要添加的数据缓冲区。 | 1118| length | 数据缓冲区的长度。 | 1119 1120**返回:** 1121 1122错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1123 1124- MEDIA_LIBRARY_OK:方法调用成功。 1125 1126- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1127 可能的原因: 1128 1. 未指定强制参数。 1129 2. 参数类型不正确。 1130 3. 参数验证失败。 1131 1132- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 1133 1134 1135### OH_MediaAssetChangeRequest_AddResourceWithUri() 1136 1137``` 1138MediaLibrary_ErrorCode OH_MediaAssetChangeRequest_AddResourceWithUri(OH_MediaAssetChangeRequest* changeRequest, MediaLibrary_ResourceType resourceType, char* fileUri) 1139``` 1140**描述** 1141通过文件uri添加资源。 1142 1143**起始版本:** 13 1144 1145**参数:** 1146 1147| 名称 | 描述 | 1148| -------- | -------- | 1149| changeRequest | [OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest)实例。 | 1150| resourceType | 要添加的资源的[MediaLibrary_ResourceType](#medialibrary_resourcetype)。 | 1151| fileUri | 文件uri。 | 1152 1153**返回:** 1154 1155错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1156 1157- MEDIA_LIBRARY_OK:方法调用成功。 1158 1159- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1160 可能的原因: 1161 1. 未指定强制参数。 1162 2. 参数类型不正确。 1163 3. 参数验证失败。 1164 1165- MEDIA_LIBRARY_NO_SUCH_FILE:文件不存在。 1166 1167- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 1168 1169- MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED:不支持该操作。 1170 1171 1172### OH_MediaAssetChangeRequest_Create() 1173 1174``` 1175OH_MediaAssetChangeRequest* OH_MediaAssetChangeRequest_Create(OH_MediaAsset* mediaAsset) 1176``` 1177**描述** 1178创建[OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest)实例。 1179 1180**起始版本:** 12 1181 1182**参数:** 1183 1184| 名称 | 描述 | 1185| -------- | -------- | 1186| mediaAsset | [OH_MediaAsset](#oh_mediaasset)实例。 | 1187 1188**返回:** 1189 1190错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1191 1192- MEDIA_LIBRARY_OK:方法调用成功。 1193 1194- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1195 可能的原因: 1196 1. 未指定强制参数。 1197 2. 参数类型不正确。 1198 3. 参数验证失败。 1199 1200- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 1201 1202 1203### OH_MediaAssetChangeRequest_DiscardCameraPhoto() 1204 1205``` 1206MediaLibrary_ErrorCode OH_MediaAssetChangeRequest_DiscardCameraPhoto(OH_MediaAssetChangeRequest* changeRequest) 1207``` 1208**描述** 1209丢弃相机拍摄的照片资源。 1210 1211**起始版本:** 12 1212 1213**参数:** 1214 1215| 名称 | 描述 | 1216| -------- | -------- | 1217| changeRequest | [OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest)实例。 | 1218 1219**返回:** 1220 1221错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1222 1223- MEDIA_LIBRARY_OK:方法调用成功。 1224 1225- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1226 可能的原因: 1227 1. 未指定强制参数。 1228 2. 参数类型不正确。 1229 3. 参数验证失败。 1230 1231- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 1232 1233- MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED:不支持该操作。 1234 1235 1236### OH_MediaAssetChangeRequest_GetWriteCacheHandler() 1237 1238``` 1239MediaLibrary_ErrorCode OH_MediaAssetChangeRequest_GetWriteCacheHandler(OH_MediaAssetChangeRequest* changeRequest, int32_t* fd) 1240``` 1241**描述** 1242获取临时文件写句柄。 1243 1244**起始版本:** 13 1245 1246**参数:** 1247 1248| 名称 | 描述 | 1249| -------- | -------- | 1250| changeRequest | [OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest)实例。 | 1251| fd | 临时文件写句柄。 | 1252 1253**需要权限:** 1254 1255ohos.permission.WRITE_IMAGEVIDEO 1256 1257**返回:** 1258 1259错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1260 1261- MEDIA_LIBRARY_OK:方法调用成功。 1262 1263- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1264 可能的原因: 1265 1. 未指定强制参数。 1266 2. 参数类型不正确。 1267 3. 参数验证失败。 1268 1269- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 1270 1271- MEDIA_LIBRARY_PERMISSION_DENIED:没有权限。 1272 1273- MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED:不支持该操作。 1274 1275 1276### OH_MediaAssetChangeRequest_Release() 1277 1278``` 1279MediaLibrary_ErrorCode OH_MediaAssetChangeRequest_Release(OH_MediaAssetChangeRequest* changeRequest) 1280``` 1281**描述** 1282释放[OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest)实例。 1283 1284**起始版本:** 12 1285 1286**参数:** 1287 1288| 名称 | 描述 | 1289| -------- | -------- | 1290| changeRequest | [OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest)实例。 | 1291 1292**返回:** 1293 1294错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1295 1296- MEDIA_LIBRARY_OK:方法调用成功。 1297 1298- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1299 可能的原因: 1300 1. 未指定强制参数。 1301 2. 参数类型不正确。 1302 3. 参数验证失败。 1303 1304 1305### OH_MediaAssetChangeRequest_SaveCameraPhoto() 1306 1307``` 1308MediaLibrary_ErrorCode OH_MediaAssetChangeRequest_SaveCameraPhoto(OH_MediaAssetChangeRequest* changeRequest, MediaLibrary_ImageFileType imageFileType) 1309``` 1310**描述** 1311保存相机拍摄的照片资源。 1312 1313**起始版本:** 12 1314 1315**参数:** 1316 1317| 名称 | 描述 | 1318| -------- | -------- | 1319| changeRequest | [OH_MediaAssetChangeRequest](#oh_mediaassetchangerequest)实例。 | 1320| imageFileType | 要保存的照片的[MediaLibrary_ImageFileType](#medialibrary_imagefiletype)。 | 1321 1322**返回:** 1323 1324错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1325 1326- MEDIA_LIBRARY_OK:方法调用成功。 1327 1328- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1329 可能的原因: 1330 1. 未指定强制参数。 1331 2. 参数类型不正确。 1332 3. 参数验证失败。 1333 1334- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 1335 1336- MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED:不支持该操作。 1337 1338 1339### OH_MediaAssetManager_CancelRequest() 1340 1341``` 1342bool OH_MediaAssetManager_CancelRequest(OH_MediaAssetManager* manager, const MediaLibrary_RequestId requestId) 1343``` 1344**描述** 1345通过请求Id取消请求。 1346 1347**起始版本:** 12 1348 1349**参数:** 1350 1351| 名称 | 描述 | 1352| -------- | -------- | 1353| manager | 指向OH_MediaAssetManager实例的指针。 | 1354| requestId | 待取消的请求Id。 | 1355 1356**需要权限:** 1357 1358ohos.permission.READ_IMAGEVIDEO 1359 1360**返回:** 1361 1362如果请求成功取消,则返回true;否则返回false。 1363 1364 1365### OH_MediaAssetManager_Create() 1366 1367``` 1368OH_MediaAssetManager* OH_MediaAssetManager_Create(void) 1369``` 1370**描述** 1371创建一个媒体资产管理器。 1372 1373**起始版本:** 12 1374 1375**返回:** 1376 1377返回一个指向OH_MediaAssetManager实例的指针。 1378 1379 1380### OH_MediaAssetManager_Release() 1381 1382``` 1383MediaLibrary_ErrorCode OH_MediaAssetManager_Release(OH_MediaAssetManager* manager) 1384``` 1385**描述** 1386释放[OH_MediaAssetManager](#oh_mediaassetmanager)实例。 1387 1388**起始版本:** 13 1389 1390**参数:** 1391 1392| 名称 | 描述 | 1393| -------- | -------- | 1394| manager | 要释放的[OH_MediaAssetManager](#oh_mediaassetmanager)实例。 | 1395 1396**返回:** 1397 1398错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1399 1400- MEDIA_LIBRARY_OK:方法调用成功。 1401 1402- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1403 可能的原因: 1404 1. 未指定强制参数。 1405 2. 参数类型不正确。 1406 3. 参数验证失败。 1407 1408 1409### OH_MediaAssetManager_RequestImage() 1410 1411``` 1412MediaLibrary_ErrorCode OH_MediaAssetManager_RequestImage(OH_MediaAssetManager* manager, OH_MediaAsset* mediaAsset, MediaLibrary_RequestOptions requestOptions, MediaLibrary_RequestId* requestId, OH_MediaLibrary_OnImageDataPrepared callback) 1413``` 1414**描述** 1415根据不同的策略模式请求图像资源。 1416 1417**起始版本:** 12 1418 1419**参数:** 1420 1421| 名称 | 描述 | 1422| -------- | -------- | 1423| manager | [OH_MediaAssetManager](#oh_mediaassetmanager)实例指针。 | 1424| mediaAsset | 要请求的媒体文件对象的[OH_MediaAsset](#oh_mediaasset)实例。 | 1425| requestOptions | 用于图像请求策略模式的[MediaLibrary_RequestOptions](_media_library___request_options.md)。 | 1426| requestId | 请求的[MediaLibrary_RequestId](_media_library___request_id.md),出参。 | 1427| callback | 当请求的图像源准备就绪时调用[OH_MediaLibrary_OnImageDataPrepared](#oh_medialibrary_onimagedataprepared)。 | 1428 1429**需要权限:** 1430 1431ohos.permission.READ_IMAGEVIDEO 1432 1433**返回:** 1434 1435错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1436 1437- MEDIA_LIBRARY_OK:方法调用成功。 1438 1439- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1440 可能的原因: 1441 1. 未指定强制参数。 1442 2. 参数类型不正确。 1443 3. 参数验证失败。 1444- MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED:不支持该操作。 1445 1446- MEDIA_LIBRARY_PERMISSION_DENIED:没有权限。 1447 1448- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 1449 1450 1451### OH_MediaAssetManager_RequestImageForPath() 1452 1453``` 1454MediaLibrary_RequestId OH_MediaAssetManager_RequestImageForPath(OH_MediaAssetManager* manager, const char* uri, MediaLibrary_RequestOptions requestOptions, const char* destPath, OH_MediaLibrary_OnDataPrepared callback) 1455``` 1456**描述** 1457请求具有目标路径的图像资源。 1458 1459**起始版本:** 12 1460 1461**参数:** 1462 1463| 名称 | 描述 | 1464| -------- | -------- | 1465| manager | 指向OH_MediaAssetManager实例的指针。 | 1466| uri | 请求的图像资源的uri。 | 1467| requestOptions | 请求策略模式配置项。 | 1468| destPath | 请求资源的目标地址。 | 1469| callback | 媒体资源处理器,当所请求的媒体资源准备完成时会触发回调。 | 1470 1471**需要权限:** 1472 1473ohos.permission.READ_IMAGEVIDEO 1474 1475**返回:** 1476 1477返回请求Id。 1478 1479 1480### OH_MediaAssetManager_RequestMovingPhoto() 1481 1482``` 1483MediaLibrary_ErrorCode OH_MediaAssetManager_RequestMovingPhoto(OH_MediaAssetManager* manager, OH_MediaAsset* mediaAsset, MediaLibrary_RequestOptions requestOptions, MediaLibrary_RequestId* requestId, OH_MediaLibrary_OnMovingPhotoDataPrepared callback) 1484``` 1485**描述** 1486根据不同的策略模式请求动态照片资源。 1487 1488**起始版本:** 13 1489 1490**参数:** 1491 1492| 名称 | 描述 | 1493| -------- | -------- | 1494| manager | [OH_MediaAssetManager](#oh_mediaassetmanager)实例指针。 | 1495| mediaAsset | 要请求的媒体文件对象的[OH_MediaAsset](#oh_mediaasset)实例。 | 1496| requestOptions | 用于图像请求策略模式的[MediaLibrary_RequestOptions](_media_library___request_options.md)。 | 1497| requestId | 请求的[MediaLibrary_RequestId](_media_library___request_id.md),出参。 | 1498| callback | 当请求的动态照片准备就绪时调用[OH_MediaLibrary_OnMovingPhotoDataPrepared](#oh_medialibrary_onmovingphotodataprepared)。 | 1499 1500**需要权限:** 1501 1502ohos.permission.READ_IMAGEVIDEO 1503 1504**返回:** 1505 1506错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1507 1508- MEDIA_LIBRARY_OK:方法调用成功。 1509 1510- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1511 可能的原因: 1512 1. 未指定强制参数。 1513 2. 参数类型不正确。 1514 3. 参数验证失败。 1515- MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED:不支持该操作。 1516 1517- MEDIA_LIBRARY_PERMISSION_DENIED:没有权限。 1518 1519- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 1520 1521 1522### OH_MediaAssetManager_RequestVideoForPath() 1523 1524``` 1525MediaLibrary_RequestId OH_MediaAssetManager_RequestVideoForPath(OH_MediaAssetManager* manager, const char* uri, MediaLibrary_RequestOptions requestOptions, const char* destPath, OH_MediaLibrary_OnDataPrepared callback) 1526``` 1527**描述** 1528请求具有目标路径的视频资源。 1529 1530**起始版本:** 12 1531 1532**参数:** 1533 1534| 名称 | 描述 | 1535| -------- | -------- | 1536| manager | 指向OH_MediaAssetManager实例的指针。 | 1537| uri | 请求的视频资源的uri。 | 1538| requestOptions | 请求策略模式配置项。 | 1539| destPath | 请求资源的目标地址。 | 1540| callback | 媒体资源处理器,当所请求的媒体资源准备完成时会触发回调。 | 1541 1542**需要权限:** 1543 1544ohos.permission.READ_IMAGEVIDEO 1545 1546**返回:** 1547 1548返回请求Id。 1549 1550 1551### OH_MovingPhoto_GetUri() 1552 1553``` 1554MediaLibrary_ErrorCode OH_MovingPhoto_GetUri(OH_MovingPhoto* movingPhoto, const char** uri) 1555``` 1556**描述** 1557获取动态照片的uri。 1558 1559**起始版本:** 13 1560 1561**参数:** 1562 1563| 名称 | 描述 | 1564| -------- | -------- | 1565| movingPhoto | [OH_MovingPhoto](#oh_movingphoto)实例。 | 1566| uri | 动态照片的uri。 | 1567 1568**返回:** 1569 1570错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1571 1572- MEDIA_LIBRARY_OK:方法调用成功。 1573 1574- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1575 可能的原因: 1576 1. 未指定强制参数。 1577 2. 参数类型不正确。 1578 3. 参数验证失败。 1579 1580- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 1581 1582 1583### OH_MovingPhoto_Release() 1584 1585``` 1586MediaLibrary_ErrorCode OH_MovingPhoto_Release(OH_MovingPhoto* movingPhoto) 1587``` 1588**描述** 1589Release [OH_MovingPhoto](#oh_movingphoto)实例。 1590 1591**起始版本:** 13 1592 1593**参数:** 1594 1595| 名称 | 描述 | 1596| -------- | -------- | 1597| movingPhoto | 要释放的[OH_MovingPhoto](#oh_movingphoto)实例。 | 1598 1599**返回:** 1600 1601错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1602 1603- MEDIA_LIBRARY_OK:方法调用成功。 1604 1605- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1606 可能的原因: 1607 1. 未指定强制参数。 1608 2. 参数类型不正确。 1609 3. 参数验证失败。 1610 1611 1612### OH_MovingPhoto_RequestContentWithBuffer() 1613 1614``` 1615MediaLibrary_ErrorCode OH_MovingPhoto_RequestContentWithBuffer(OH_MovingPhoto* movingPhoto, MediaLibrary_ResourceType resourceType, const uint8_t** buffer, uint32_t* size) 1616``` 1617**描述** 1618请求指定资源类型的动态照片内容,以ArrayBuffer的形式返回。 1619 1620**起始版本:** 13 1621 1622**参数:** 1623 1624| 名称 | 描述 | 1625| -------- | -------- | 1626| movingPhoto | [OH_MovingPhoto](#oh_movingphoto)实例。 | 1627| resourceType | 指定的资源类型[MediaLibrary_ResourceType](#medialibrary_resourcetype)。 | 1628| buffer | 保存目标文件数据的缓冲区。 | 1629| size | 缓冲区的大小。 | 1630 1631**需要权限:** 1632 1633ohos.permission.READ_IMAGEVIDEO 1634 1635**返回:** 1636 1637错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1638 1639- MEDIA_LIBRARY_OK:方法调用成功。 1640 1641- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1642 可能的原因: 1643 1. 未指定强制参数。 1644 2. 参数类型不正确。 1645 3. 参数验证失败。 1646 1647- MEDIA_LIBRARY_PERMISSION_DENIED:没有权限。 1648 1649- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 1650 1651 1652### OH_MovingPhoto_RequestContentWithUri() 1653 1654``` 1655MediaLibrary_ErrorCode OH_MovingPhoto_RequestContentWithUri(OH_MovingPhoto* movingPhoto, MediaLibrary_ResourceType resourceType, char* uri) 1656``` 1657**描述** 1658请求指定资源类型的动态照片内容,并写入参数指定的uri中。 1659 1660**起始版本:** 13 1661 1662**参数:** 1663 1664| 名称 | 描述 | 1665| -------- | -------- | 1666| movingPhoto | [OH_MovingPhoto](#oh_movingphoto)实例。 | 1667| resourceType | 指定的资源类型[MediaLibrary_ResourceType](#medialibrary_resourcetype)。 | 1668| uri | 保存数据的目标文件uri。 | 1669 1670**需要权限:** 1671 1672ohos.permission.READ_IMAGEVIDEO 1673 1674**返回:** 1675 1676错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1677 1678- MEDIA_LIBRARY_OK:方法调用成功。 1679 1680- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1681 可能的原因: 1682 1. 未指定强制参数。 1683 2. 参数类型不正确。 1684 3. 参数验证失败。 1685 1686- MEDIA_LIBRARY_PERMISSION_DENIED:没有权限。 1687 1688- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 1689 1690 1691### OH_MovingPhoto_RequestContentWithUris() 1692 1693``` 1694MediaLibrary_ErrorCode OH_MovingPhoto_RequestContentWithUris(OH_MovingPhoto* movingPhoto, char* imageUri, char* videoUri) 1695``` 1696**描述** 1697同时请求动态照片的图片内容和视频内容,并写入参数指定的对应的uri中。 1698 1699**起始版本:** 13 1700 1701**参数:** 1702 1703| 名称 | 描述 | 1704| -------- | -------- | 1705| movingPhoto | [OH_MovingPhoto](#oh_movingphoto)实例。 | 1706| imageUri | 用于保存图像数据的目标文件uri。 | 1707| videoUri | 用于保存视频数据的目标文件uri。 | 1708 1709**需要权限:** 1710 1711ohos.permission.READ_IMAGEVIDEO 1712 1713**返回:** 1714 1715错误码[MediaLibrary_ErrorCode](#medialibrary_errorcode-1): 1716 1717- MEDIA_LIBRARY_OK:方法调用成功。 1718 1719- MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。 1720 可能的原因: 1721 1. 未指定强制参数。 1722 2. 参数类型不正确。 1723 3. 参数验证失败。 1724 1725- MEDIA_LIBRARY_PERMISSION_DENIED:没有权限。 1726 1727- MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 1728