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