1# media_asset_manager_capi.h 2 3## 概述 4 5定义媒体资产管理器的接口。使用由媒体资产管理器提供的C API来请求媒体库资源。 6 7**库:** libmedia_asset_manager.so 8 9**引用文件:** <multimedia/media_library/media_asset_manager_capi.h> 10 11**系统能力:** SystemCapability.FileManagement.PhotoAccessHelper.Core 12 13**起始版本:** 12 14 15**相关模块:** [MediaAssetManager](capi-mediaassetmanager.md) 16 17## 汇总 18 19### 函数 20 21| 名称 | 描述 | 22| -- | -- | 23| [OH_MediaAssetManager* OH_MediaAssetManager_Create(void)](#oh_mediaassetmanager_create) | 创建一个媒体资产管理器。 | 24| [MediaLibrary_RequestId OH_MediaAssetManager_RequestImageForPath(OH_MediaAssetManager* manager, const char* uri, MediaLibrary_RequestOptions requestOptions, const char* destPath, OH_MediaLibrary_OnDataPrepared callback)](#oh_mediaassetmanager_requestimageforpath) | 请求具有目标路径的图像资源。 | 25| [MediaLibrary_RequestId OH_MediaAssetManager_RequestVideoForPath(OH_MediaAssetManager* manager, const char* uri, MediaLibrary_RequestOptions requestOptions, const char* destPath, OH_MediaLibrary_OnDataPrepared callback)](#oh_mediaassetmanager_requestvideoforpath) | 请求具有目标路径的视频资源。 | 26| [bool OH_MediaAssetManager_CancelRequest(OH_MediaAssetManager* manager, const MediaLibrary_RequestId requestId)](#oh_mediaassetmanager_cancelrequest) | 通过请求Id取消请求。 | 27| [MediaLibrary_ErrorCode OH_MediaAssetManager_RequestMovingPhoto(OH_MediaAssetManager* manager, OH_MediaAsset* mediaAsset, MediaLibrary_RequestOptions requestOptions, MediaLibrary_RequestId* requestId, OH_MediaLibrary_OnMovingPhotoDataPrepared callback)](#oh_mediaassetmanager_requestmovingphoto) | 根据不同的策略模式请求动态照片资源。 | 28| [MediaLibrary_ErrorCode OH_MediaAssetManager_RequestImage(OH_MediaAssetManager* manager, OH_MediaAsset* mediaAsset,MediaLibrary_RequestOptions requestOptions, MediaLibrary_RequestId* requestId, OH_MediaLibrary_OnImageDataPrepared callback)](#oh_mediaassetmanager_requestimage) | 根据不同的策略模式请求图像资源。 | 29| [MediaLibrary_ErrorCode OH_MediaAssetManager_Release(OH_MediaAssetManager* manager)](#oh_mediaassetmanager_release) | 释放[OH_MediaAssetManager](capi-mediaassetmanager-oh-mediaassetmanager.md)实例。 | 30 31## 函数说明 32 33### OH_MediaAssetManager_Create() 34 35``` 36OH_MediaAssetManager* OH_MediaAssetManager_Create(void) 37``` 38 39**描述** 40 41创建一个媒体资产管理器。 42 43**起始版本:** 12 44 45**返回:** 46 47| 类型 | 说明 | 48| -- | -- | 49| [OH_MediaAssetManager](capi-mediaassetmanager-oh-mediaassetmanager.md)* | 返回一个指向OH_MediaAssetManager实例的指针。 | 50 51### OH_MediaAssetManager_RequestImageForPath() 52 53``` 54MediaLibrary_RequestId OH_MediaAssetManager_RequestImageForPath(OH_MediaAssetManager* manager, const char* uri,MediaLibrary_RequestOptions requestOptions, const char* destPath, OH_MediaLibrary_OnDataPrepared callback) 55``` 56 57**描述** 58 59请求具有目标路径的图像资源。 60 61**需要权限:** ohos.permission.READ_IMAGEVIDEO 62 63**起始版本:** 12 64 65 66**参数:** 67 68| 参数项 | 描述 | 69| -- | -- | 70| [OH_MediaAssetManager](capi-mediaassetmanager-oh-mediaassetmanager.md)* manager | 指向OH_MediaAssetManager实例的指针。 | 71| const char* uri | 请求的图像资源的uri。 | 72| [MediaLibrary_RequestOptions](capi-mediaassetmanager-medialibrary-requestoptions.md) requestOptions | 请求策略模式配置项。 | 73| const char* destPath | 请求资源的目标地址。 | 74| [OH_MediaLibrary_OnDataPrepared](capi-media-asset-base-capi-h.md#oh_medialibrary_ondataprepared) callback | 媒体资源处理器,当所请求的媒体资源准备完成时会触发回调。 | 75 76**返回:** 77 78| 类型 | 说明 | 79| -- | -- | 80| [MediaLibrary_RequestId](capi-mediaassetmanager-medialibrary-requestid.md) | 返回请求Id。 | 81 82### OH_MediaAssetManager_RequestVideoForPath() 83 84``` 85MediaLibrary_RequestId OH_MediaAssetManager_RequestVideoForPath(OH_MediaAssetManager* manager, const char* uri,MediaLibrary_RequestOptions requestOptions, const char* destPath, OH_MediaLibrary_OnDataPrepared callback) 86``` 87 88**描述** 89 90请求具有目标路径的视频资源。 91 92**需要权限:** ohos.permission.READ_IMAGEVIDEO 93 94**起始版本:** 12 95 96 97**参数:** 98 99| 参数项 | 描述 | 100| -- | -- | 101| [OH_MediaAssetManager](capi-mediaassetmanager-oh-mediaassetmanager.md)* manager | 指向OH_MediaAssetManager实例的指针。 | 102| const char* uri | 请求的视频资源的uri。 | 103| [MediaLibrary_RequestOptions](capi-mediaassetmanager-medialibrary-requestoptions.md) requestOptions | 请求策略模式配置项。 | 104| const char* destPath | 请求资源的目标地址。 | 105| [OH_MediaLibrary_OnDataPrepared](capi-media-asset-base-capi-h.md#oh_medialibrary_ondataprepared) callback | 媒体资源处理器,当所请求的媒体资源准备完成时会触发回调。 | 106 107**返回:** 108 109| 类型 | 说明 | 110| -- | -- | 111| [MediaLibrary_RequestId](capi-mediaassetmanager-medialibrary-requestid.md) | 返回请求Id。 | 112 113### OH_MediaAssetManager_CancelRequest() 114 115``` 116bool OH_MediaAssetManager_CancelRequest(OH_MediaAssetManager* manager, const MediaLibrary_RequestId requestId) 117``` 118 119**描述** 120 121通过请求Id取消请求。 122 123**需要权限:** ohos.permission.READ_IMAGEVIDEO 124 125**起始版本:** 12 126 127 128**参数:** 129 130| 参数项 | 描述 | 131| -- | -- | 132| [OH_MediaAssetManager](capi-mediaassetmanager-oh-mediaassetmanager.md)* manager | 指向OH_MediaAssetManager实例的指针。 | 133| const [MediaLibrary_RequestId](capi-mediaassetmanager-medialibrary-requestid.md) requestId | 待取消的请求Id。 | 134 135**返回:** 136 137| 类型 | 说明 | 138| -- | -- | 139| bool | 如果请求成功取消,则返回true;否则返回false。 | 140 141### OH_MediaAssetManager_RequestMovingPhoto() 142 143``` 144MediaLibrary_ErrorCode OH_MediaAssetManager_RequestMovingPhoto(OH_MediaAssetManager* manager,OH_MediaAsset* mediaAsset, MediaLibrary_RequestOptions requestOptions, MediaLibrary_RequestId* requestId,OH_MediaLibrary_OnMovingPhotoDataPrepared callback) 145``` 146 147**描述** 148 149根据不同的策略模式请求动态照片资源。 150 151**需要权限:** ohos.permission.READ_IMAGEVIDEO 152 153**起始版本:** 13 154 155 156**参数:** 157 158| 参数项 | 描述 | 159| -- | -- | 160| [OH_MediaAssetManager](capi-mediaassetmanager-oh-mediaassetmanager.md)* manager | [OH_MediaAssetManager](capi-mediaassetmanager-oh-mediaassetmanager.md)实例指针。 | 161| [OH_MediaAsset](capi-mediaassetmanager-oh-mediaasset.md)* mediaAsset | 要请求的媒体文件对象的[OH_MediaAsset](capi-mediaassetmanager-oh-mediaasset.md)实例。 | 162| [MediaLibrary_RequestOptions](capi-mediaassetmanager-medialibrary-requestoptions.md) requestOptions | 用于图像请求策略模式的[MediaLibrary_RequestOptions](capi-mediaassetmanager-medialibrary-requestoptions.md)。 | 163| [MediaLibrary_RequestId](capi-mediaassetmanager-medialibrary-requestid.md)* requestId | 请求的[MediaLibrary_RequestId](capi-mediaassetmanager-medialibrary-requestid.md),出参。 | 164| [OH_MediaLibrary_OnMovingPhotoDataPrepared](capi-media-asset-base-capi-h.md#oh_medialibrary_onmovingphotodataprepared) callback | 当请求的动态照片准备就绪时调用[OH_MediaLibrary_OnMovingPhotoDataPrepared](capi-media-asset-base-capi-h.md#oh_medialibrary_onmovingphotodataprepared)。 | 165 166**返回:** 167 168| 类型 | 说明 | 169| -- | -- | 170| [MediaLibrary_ErrorCode](capi-media-asset-base-capi-h.md#medialibrary_errorcode) | MEDIA_LIBRARY_OK:方法调用成功。<br> MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。可能的原因:<br> 1. 未指定强制参数。<br> 2. 参数类型不正确。<br> 3. 参数验证失败。<br> MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED:不支持该操作。<br> MEDIA_LIBRARY_PERMISSION_DENIED:没有权限。<br> MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 | 171 172### OH_MediaAssetManager_RequestImage() 173 174``` 175MediaLibrary_ErrorCode OH_MediaAssetManager_RequestImage(OH_MediaAssetManager* manager, OH_MediaAsset* mediaAsset,MediaLibrary_RequestOptions requestOptions, MediaLibrary_RequestId* requestId,OH_MediaLibrary_OnImageDataPrepared callback) 176``` 177 178**描述** 179 180根据不同的策略模式请求图像资源。 181 182**需要权限:** ohos.permission.READ_IMAGEVIDEO 183 184**起始版本:** 12 185 186 187**参数:** 188 189| 参数项 | 描述 | 190| -- | -- | 191| [OH_MediaAssetManager](capi-mediaassetmanager-oh-mediaassetmanager.md)* manager | [OH_MediaAssetManager](capi-mediaassetmanager-oh-mediaassetmanager.md)实例指针。 | 192| [OH_MediaAsset](capi-mediaassetmanager-oh-mediaasset.md)* mediaAsset | 要请求的媒体文件对象的[OH_MediaAsset](capi-mediaassetmanager-oh-mediaasset.md)实例。 | 193| [MediaLibrary_RequestOptions](capi-mediaassetmanager-medialibrary-requestoptions.md) requestOptions | 用于图像请求策略模式的[MediaLibrary_RequestOptions](capi-mediaassetmanager-medialibrary-requestoptions.md)。 | 194| [MediaLibrary_RequestId](capi-mediaassetmanager-medialibrary-requestid.md)* requestId | 请求的[MediaLibrary_RequestId](capi-mediaassetmanager-medialibrary-requestid.md),出参。 | 195| [OH_MediaLibrary_OnImageDataPrepared](capi-media-asset-base-capi-h.md#oh_medialibrary_onimagedataprepared) callback | 当请求的图像源准备就绪时调用[OH_MediaLibrary_OnImageDataPrepared](capi-media-asset-base-capi-h.md#oh_medialibrary_onimagedataprepared)。 | 196 197**返回:** 198 199| 类型 | 说明 | 200| -- | -- | 201| [MediaLibrary_ErrorCode](capi-media-asset-base-capi-h.md#medialibrary_errorcode) | MEDIA_LIBRARY_OK:方法调用成功。<br> MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。可能的原因:<br> 1. 未指定强制参数。<br> 2. 参数类型不正确。<br> 3. 参数验证失败。<br> MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED:不支持该操作。<br> MEDIA_LIBRARY_PERMISSION_DENIED:没有权限。<br> MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR:内部系统错误。 | 202 203### OH_MediaAssetManager_Release() 204 205``` 206MediaLibrary_ErrorCode OH_MediaAssetManager_Release(OH_MediaAssetManager* manager) 207``` 208 209**描述** 210 211释放[OH_MediaAssetManager](capi-mediaassetmanager-oh-mediaassetmanager.md)实例。 212 213**起始版本:** 13 214 215 216**参数:** 217 218| 参数项 | 描述 | 219| -- | -- | 220| [OH_MediaAssetManager](capi-mediaassetmanager-oh-mediaassetmanager.md)* manager | 要释放的[OH_MediaAssetManager](capi-mediaassetmanager-oh-mediaassetmanager.md)实例。 | 221 222**返回:** 223 224| 类型 | 说明 | 225| -- | -- | 226| [MediaLibrary_ErrorCode](capi-media-asset-base-capi-h.md#medialibrary_errorcode) | MEDIA_LIBRARY_OK:方法调用成功。<br> MEDIA_LIBRARY_PARAMETER_ERROR:参数错误。可能的原因:<br> 1. 未指定强制参数。<br> 2. 参数类型不正确。<br> 3. 参数验证失败。 | 227 228 229