1e41f4b71Sopenharmony_ci# media_asset_base_capi.h
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci
4e41f4b71Sopenharmony_ci## Overview
5e41f4b71Sopenharmony_ci
6e41f4b71Sopenharmony_ciDefines the following structs and enums of the media asset manager:
7e41f4b71Sopenharmony_ci
8e41f4b71Sopenharmony_ci- [OH_MediaAssetManager](_media_asset_manager.md#oh_mediaassetmanager): provides the capability of requesting assets from the media library.
9e41f4b71Sopenharmony_ci- [MediaLibrary_RequestId](_media_library___request_id.md): defines a request ID returned when a media asset is requested. The request ID can be used to cancel a request.
10e41f4b71Sopenharmony_ci- [MediaLibrary_DeliveryMode](_media_asset_manager.md#medialibrary_deliverymode-1): enumerates the deliver modes of the requested media asset.
11e41f4b71Sopenharmony_ci
12e41f4b71Sopenharmony_ci- [OH_MediaLibrary_OnDataPrepared](_media_asset_manager.md#oh_medialibrary_ondataprepared): defines a function pointer to the callback to be invoked when the requested media asset is ready.
13e41f4b71Sopenharmony_ci
14e41f4b71Sopenharmony_ci- [MediaLibrary_RequestOptions](_media_library___request_options.md): defines the options related to the media asset quality and delivery mode to set.
15e41f4b71Sopenharmony_ci
16e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core
17e41f4b71Sopenharmony_ci
18e41f4b71Sopenharmony_ci**Library**: libmedia_asset_manager.so
19e41f4b71Sopenharmony_ci
20e41f4b71Sopenharmony_ci**File to include**: <multimedia/media_library/media_asset_base_capi.h>
21e41f4b71Sopenharmony_ci
22e41f4b71Sopenharmony_ci**Since**: 12
23e41f4b71Sopenharmony_ci
24e41f4b71Sopenharmony_ci**Related module**: [MediaAssetManager](_media_asset_manager.md)
25e41f4b71Sopenharmony_ci
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci## Summary
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ci### Structs
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci| Name| Description|
33e41f4b71Sopenharmony_ci| -------- | -------- |
34e41f4b71Sopenharmony_ci| struct  [MediaLibrary_RequestId](_media_library___request_id.md) | Defines a request ID.|
35e41f4b71Sopenharmony_ci| struct  [MediaLibrary_RequestOptions](_media_library___request_options.md) | Defines how media assets are requested and processed.|
36e41f4b71Sopenharmony_ci
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci### Types
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ci| Name| Description|
41e41f4b71Sopenharmony_ci| -------- | -------- |
42e41f4b71Sopenharmony_ci| typedef struct [OH_MediaAssetManager](_media_asset_manager.md#oh_mediaassetmanager) [OH_MediaAssetManager](_media_asset_manager.md#oh_mediaassetmanager) | Defines a struct for the media asset manager.|
43e41f4b71Sopenharmony_ci| typedef struct [OH_MediaAssetChangeRequest](_media_asset_manager.md#oh_mediaassetchangerequest) [OH_MediaAssetChangeRequest](_media_asset_manager.md#oh_mediaassetchangerequest) | Defines a struct for a media asset change request.|
44e41f4b71Sopenharmony_ci| typedef struct [OH_MediaAsset](_media_asset_manager.md#oh_mediaasset) [OH_MediaAsset](_media_asset_manager.md#oh_mediaasset) | Defines a struct for a media asset.|
45e41f4b71Sopenharmony_ci| typedef struct [MediaLibrary_RequestId](_media_library___request_id.md) [MediaLibrary_RequestId](_media_asset_manager.md#medialibrary_requestid) | Defines a struct for a request ID.|
46e41f4b71Sopenharmony_ci| typedef enum [MediaLibrary_ErrorCode](_media_asset_manager.md#medialibrary_errorcode-1) [MediaLibrary_ErrorCode](_media_asset_manager.md#medialibrary_errorcode) | Defines an enum for error codes.|
47e41f4b71Sopenharmony_ci| typedef enum [MediaLibrary_DeliveryMode](_media_asset_manager.md#medialibrary_deliverymode-1) [MediaLibrary_DeliveryMode](_media_asset_manager.md#medialibrary_deliverymode) | Defines an enum for delivery modes of the requested media asset.|
48e41f4b71Sopenharmony_ci| typedef struct [MediaLibrary_RequestOptions](_media_library___request_options.md) [MediaLibrary_RequestOptions](_media_asset_manager.md#medialibrary_requestoptions) | Defines a struct for the options related to the media asset quality and delivery mode to set.|
49e41f4b71Sopenharmony_ci| typedef enum [MediaLibrary_MediaType](_media_asset_manager.md#medialibrary_mediatype-1) [MediaLibrary_MediaType](_media_asset_manager.md#medialibrary_mediatype) | Defines an enum for media types.|
50e41f4b71Sopenharmony_ci| typedef enum [MediaLibrary_MediaSubType](_media_asset_manager.md#medialibrary_mediasubtype-1) [MediaLibrary_MediaSubType](_media_asset_manager.md#medialibrary_mediasubtype) | Defines an enum for media subtypes.|
51e41f4b71Sopenharmony_ci| typedef enum [MediaLibrary_ResourceType](_media_asset_manager.md#medialibrary_resourcetype-1) [MediaLibrary_ResourceType](_media_asset_manager.md#medialibrary_resourcetype) | Defines an enum for media library resource types.|
52e41f4b71Sopenharmony_ci| typedef enum [MediaLibrary_ImageFileType](_media_asset_manager.md#medialibrary_imagefiletype-1) [MediaLibrary_ImageFileType](_media_asset_manager.md#medialibrary_imagefiletype) | Defines an enum for image file types.|
53e41f4b71Sopenharmony_ci| typedef enum [MediaLibrary_MediaQuality](_media_asset_manager.md#medialibrary_mediaquality-1) [MediaLibrary_MediaQuality](_media_asset_manager.md#medialibrary_mediaquality) | Defines an enum for media resource quality.|
54e41f4b71Sopenharmony_ci| typedef enum [MediaLibrary_MediaContentType](_media_asset_manager.md#medialibrary_mediacontenttype-1) [MediaLibrary_MediaContentType](_media_asset_manager.md#medialibrary_mediacontenttype) | Defines an enum for media content types.|
55e41f4b71Sopenharmony_ci| typedef void(\* [OH_MediaLibrary_OnDataPrepared](_media_asset_manager.md#oh_medialibrary_ondataprepared)) (int32_t result, [MediaLibrary_RequestId](_media_library___request_id.md) requestId) | Defines a function pointer to the callback to be triggered when the requested media asset is ready.|
56e41f4b71Sopenharmony_ci| typedef void(\* [OH_MediaLibrary_OnImageDataPrepared](_media_asset_manager.md#oh_medialibrary_onimagedataprepared)) ([MediaLibrary_ErrorCode](_media_asset_manager.md#medialibrary_errorcode) result, [MediaLibrary_RequestId](_media_library___request_id.md) requestId, [MediaLibrary_MediaQuality](_media_asset_manager.md#medialibrary_mediaquality) mediaQuality, [MediaLibrary_MediaContentType](_media_asset_manager.md#medialibrary_mediacontenttype) type, OH_ImageSourceNative \*imageSourceNative) | Defines a function pointer to the callback to be invoked when the requested image source is ready. |
57e41f4b71Sopenharmony_ci
58e41f4b71Sopenharmony_ci
59e41f4b71Sopenharmony_ci### Enums
60e41f4b71Sopenharmony_ci
61e41f4b71Sopenharmony_ci| Name| Description|
62e41f4b71Sopenharmony_ci| -------- | -------- |
63e41f4b71Sopenharmony_ci| [MediaLibrary_ErrorCode](_media_asset_manager.md#medialibrary_errorcode) {<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>} | Enumerates the error codes.|
64e41f4b71Sopenharmony_ci| [MediaLibrary_DeliveryMode](_media_asset_manager.md#medialibrary_deliverymode) {<br>MEDIA_LIBRARY_FAST_MODE = 0,<br>MEDIA_LIBRARY_HIGH_QUALITY_MODE = 1,<br>MEDIA_LIBRARY_BALANCED_MODE = 2 } | Enumerates the delivery modes of the requested media asset.|
65e41f4b71Sopenharmony_ci| [MediaLibrary_MediaType](_media_asset_manager.md#medialibrary_mediatype) {<br>MEDIA_LIBRARY_IMAGE = 1,<br>MEDIA_LIBRARY_VIDEO = 2 } | Enumerates the media types.|
66e41f4b71Sopenharmony_ci| [MediaLibrary_MediaSubType](_media_asset_manager.md#medialibrary_mediasubtype) {<br>MEDIA_LIBRARY_DEFAULT = 0,<br>MEDIA_LIBRARY_MOVING_PHOTO = 3,<br>MEDIA_LIBRARY_BURST = 4 } | Enumerates the media subtypes.|
67e41f4b71Sopenharmony_ci| [MediaLibrary_ResourceType](_media_asset_manager.md#medialibrary_resourcetype) {<br>MEDIA_LIBRARY_IMAGE_RESOURCE = 1,<br>MEDIA_LIBRARY_VIDEO_RESOURCE = 2 } | Enumerates the media library resource types.|
68e41f4b71Sopenharmony_ci| [MediaLibrary_ImageFileType](_media_asset_manager.md#medialibrary_imagefiletype) {<br>MEDIA_LIBRARY_IMAGE_JPEG = 1 } | Enumerates the image file types.|
69e41f4b71Sopenharmony_ci| [MediaLibrary_MediaQuality](_media_asset_manager.md#medialibrary_mediaquality) {<br>MEDIA_LIBRARY_QUALITY_FAST = 1,<br>MEDIA_LIBRARY_QUALITY_FULL = 2 } | Enumerates the media resource quality.|
70e41f4b71Sopenharmony_ci| [MediaLibrary_MediaContentType](_media_asset_manager.md#medialibrary_mediacontenttype) {<br>MEDIA_LIBRARY_COMPRESSED = 1,<br>MEDIA_LIBRARY_PICTURE_OBJECT = 2 } | Enumerates the media content types.|
71