1# Enums 2<!--Kit: Media Library Kit--> 3<!--Subsystem: Multimedia--> 4<!--Owner: @yixiaoff--> 5<!--Designer: @liweilu1--> 6<!--Tester: @xchaosioda--> 7<!--Adviser: @zengyawen--> 8 9<!--Kit: Media Library Kit--> 10<!--Subsystem: Multimedia--> 11<!--Owner: @yixiaoff--> 12<!--Designer: @liweilu1--> 13<!--Tester: @xchaosioda--> 14 15> **说明:** 16> 17> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 18 19## PhotoType 20 21枚举,媒体文件类型。 22 23**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 24 25**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 26 27| 名称 | 值 | 说明 | 28| ----- | ---- | ---- | 29| IMAGE | 1 | 图片。 | 30| VIDEO | 2 | 视频。 | 31 32## PhotoSubtype<sup>12+</sup> 33 34PhotoSubtype是不同[PhotoAsset](arkts-apis-photoAccessHelper-PhotoAsset.md)类型的枚举。 35 36**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 37 38**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 39 40| 名称 | 值 | 说明 | 41| ----- | ---- | ---- | 42| DEFAULT | 0 | 默认照片类型。 | 43| MOVING_PHOTO | 3 | 动态照片文件类型。 | 44| BURST | 4 | 连拍照片文件类型。 | 45 46## DynamicRangeType<sup>12+</sup> 47 48枚举,媒体文件的动态范围类型。 49 50**系统能力**: SystemCapability.FileManagement.PhotoAccessHelper.Core 51 52| 名称 | 值 | 说明 | 53| ----- | ---- | ---- | 54| SDR | 0 | 标准动态范围类型。| 55| HDR | 1 | 高动态范围类型。 | 56 57## AlbumType 58 59枚举,相册类型,表示是用户相册还是系统预置相册。 60 61**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 62 63| 名称 | 值 | 说明 | 64| --------| ---- | ------------| 65| USER | 0 | 用户相册。 | 66| SYSTEM | 1024 | 系统预置相册。 | 67 68## AlbumSubtype 69 70枚举,相册子类型,表示具体的相册类型。 71 72**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 73 74| 名称 | 值 | 说明 | 75| ----- | ---------- | --- | 76| USER\_GENERIC | 1 | 用户相册。| 77| FAVORITE | 1025 | 收藏夹。 | 78| VIDEO | 1026 | 视频相册。| 79| IMAGE<sup>12+</sup> | 1031 | 图片相册。| 80| ANY | 2147483647 | 任意相册。| 81 82## PositionType<sup>16+</sup> 83 84枚举,文件位置,表示文件在本地或云端。 85 86**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 87 88| 名称 | 值 | 说明 | 89| ----- | ---- | ---- | 90| LOCAL | 1 | 文件只存在于本端设备。 | 91| CLOUD | 2 | 文件只存在于云端。 | 92| LOCAL_AND_CLOUD | 3 | 文件存在于本端设备和云端。 | 93 94## PhotoKeys 95 96枚举,图片和视频文件关键信息。 97 98**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 99 100| 名称 | 值 | 说明 | 101| ------------- | ------------------- | ---------------------------------------------------------- | 102| URI | 'uri' | 文件uri。<br>**注意:** 查询照片时,该字段仅支持使用[DataSharePredicates.equalTo](../apis-arkdata/js-apis-data-dataSharePredicates.md#equalto10)谓词。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 103| PHOTO_TYPE | 'media_type' | 媒体文件类型。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 104| DISPLAY_NAME | 'display_name' | 显示名字。规格为:<br>- 应包含有效文件主名和图片或视频扩展名。<br>- 文件名字符串长度为1~255。<br>- 文件主名中不允许出现的非法英文字符,包括:. .. \ / : * ? " ' ` < > \| { } [ ]。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 105| SIZE | 'size' | 文件大小(单位:字节)。动态照片的size包括图片和视频的总大小。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 106| DATE_ADDED | 'date_added' | 文件创建时的Unix时间戳(单位:秒)。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 107| DATE_MODIFIED | 'date_modified' | 文件修改时的Unix时间戳(单位:秒)。修改文件名不会改变此值,当文件内容发生修改时才会更新。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 108| DURATION | 'duration' | 持续时间(单位:毫秒)。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 109| WIDTH | 'width' | 图片宽度(单位:像素)。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 110| HEIGHT | 'height' | 图片高度(单位:像素)。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 111| DATE_TAKEN | 'date_taken' | 拍摄时的Unix时间戳(单位:秒)。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 112| ORIENTATION | 'orientation' | 文件的旋转角度,单位为度。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 113| FAVORITE | 'is_favorite' | 收藏。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 114| TITLE | 'title' | 文件标题。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 115| DATE_ADDED_MS<sup>12+</sup> | 'date_added_ms' | 文件创建时的Unix时间戳(单位:毫秒)。<br>**注意:**查询照片时,不支持基于该字段排序。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 116| DATE_MODIFIED_MS<sup>12+</sup> | 'date_modified_ms' | 文件修改时的Unix时间戳(单位:毫秒)。修改文件名不会改变此值,当文件内容发生修改时才会更新。<br>**注意:**查询照片时,不支持基于该字段排序。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 117| PHOTO_SUBTYPE<sup>12+</sup> | 'subtype' | 媒体文件的子类型。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 118| DYNAMIC_RANGE_TYPE<sup>12+</sup> | 'dynamic_range_type' | 媒体文件的动态范围类型。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 119| COVER_POSITION<sup>12+</sup> | 'cover_position' | 动态照片的封面位置,具体表示封面帧所对应的视频时间戳(单位:微秒)。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 120| BURST_KEY<sup>12+</sup> | 'burst_key' | 一组连拍照片的唯一标识:uuid。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 121| LCD_SIZE<sup>12+</sup> | 'lcd_size' | LCD图片的宽高,值为width:height拼接而成的字符串。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。| 122| THM_SIZE<sup>12+</sup> | 'thm_size' | THUMB图片的宽高,值为width:height拼接而成的字符串。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 123| DETAIL_TIME<sup>13+</sup> | 'detail_time' | 大图浏览时间,值为拍摄时对应时区的时间的字符串,不会跟随时区变化。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 124| DATE_TAKEN_MS<sup>13+</sup> | 'date_taken_ms' | 拍摄时的Unix时间戳(单位:毫秒)。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 125| POSITION<sup>16+</sup> | 'position' | 文件位置类型。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 126| MEDIA_SUFFIX<sup>18+</sup> | 'media_suffix' | 文件的后缀名。 | 127 128## AlbumKeys 129 130枚举,相册关键信息。 131 132**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 133 134| 名称 | 值 | 说明 | 135| ------------- | ------------------- | ---------------------------------------------------------- | 136| URI | 'uri' | 相册uri。 | 137| ALBUM_NAME | 'album_name' | 相册名字。 | 138 139## ResourceType<sup>11+</sup> 140 141枚举,写入资源的类型。 142 143**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 144 145**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 146 147| 名称 | 值 | 说明 | 148| ----- | ---- | ---- | 149| IMAGE_RESOURCE | 1 | 表示图片资源。 | 150| VIDEO_RESOURCE | 2 | 表示视频资源。 | 151 152## ImageFileType<sup>13+</sup> 153 154枚举,图片保存类型。 155 156**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 157 158| 名称 | 值 | 说明 | 159| ----- | ---- | ---- | 160| JPEG | 1 | 表示jpeg图片类型。 | 161| HEIF | 2 | 表示heif图片类型。 | 162 163## NotifyType 164 165枚举,通知事件的类型。 166 167**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 168 169| 名称 | 值 | 说明 | 170| ------------------------- | ---- | -------------------------------- | 171| NOTIFY_ADD | 0 | 添加文件集或相册通知的类型。 | 172| NOTIFY_UPDATE | 1 | 文件集或相册的更新通知类型。 | 173| NOTIFY_REMOVE | 2 | 删除文件集或相册的通知类型。 | 174| NOTIFY_ALBUM_ADD_ASSET | 3 | 在相册中添加的文件集的通知类型。 | 175| NOTIFY_ALBUM_REMOVE_ASSET | 4 | 在相册中删除的文件集的通知类型。 | 176 177## DefaultChangeUri 178 179枚举,DefaultChangeUri子类型。 180 181**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 182 183| 名称 | 值 | 说明 | 184| ----------------- | ----------------------- | ------------------------------------------------------------ | 185| DEFAULT_PHOTO_URI | 'file://media/Photo' | 默认PhotoAsset的uri,与forSubUri{true}一起使用,将接收所有PhotoAsset的更改通知。 | 186| DEFAULT_ALBUM_URI | 'file://media/PhotoAlbum' | 默认相册的uri,与forSubUri{true}一起使用,将接收所有相册的更改通知。 | 187 188## PhotoViewMIMETypes 189 190枚举,可选择的媒体文件类型。 191 192**系统能力:** SystemCapability.FileManagement.PhotoAccessHelper.Core 193 194| 名称 | 值 | 说明 | 195|---------------------------------------| ---- |----------| 196| IMAGE_TYPE | 'image/*' | 图片类型。<br>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 197| VIDEO_TYPE | 'video/*' | 视频类型。<br>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 198| IMAGE_VIDEO_TYPE | '\*/*' | 图片和视频类型。<br>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 199| MOVING_PHOTO_IMAGE_TYPE<sup>12+</sup> | 'image/movingPhoto' | 动态照片类型。<br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 200 201## RecommendationType<sup>11+</sup> 202 203枚举,推荐的图片类型。 204 205**系统能力:** SystemCapability.FileManagement.PhotoAccessHelper.Core 206 207| 名称 | 值 | 说明 | 208| ----- | ---- | ---- | 209| QR_OR_BAR_CODE | 1 | 二维码或条码。<br>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 210| QR_CODE | 2 | 二维码。<br>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 211| BAR_CODE | 3 | 条码。<br>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 212| ID_CARD | 4 | 身份证。<br>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 213| PROFILE_PICTURE | 5 | 头像。<br>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 214| PASSPORT<sup>12+</sup> | 6 | 护照。<br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 215| BANK_CARD<sup>12+</sup> | 7 | 银行卡。<br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 216| DRIVER_LICENSE<sup>12+</sup> | 8 | 驾驶证。<br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 217| DRIVING_LICENSE<sup>12+</sup> | 9 | 行驶证。<br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 218| FEATURED_SINGLE_PORTRAIT<sup>12+</sup> | 10 | 推荐人像。<br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 219 220**示例:** 221 222```ts 223import { BusinessError } from '@kit.BasicServicesKit'; 224async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) { 225 try { 226 let recommendOptions: photoAccessHelper.RecommendationOptions = { 227 recommendationType: photoAccessHelper.RecommendationType.ID_CARD 228 } 229 let options: photoAccessHelper.PhotoSelectOptions = { 230 MIMEType: photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE, 231 maxSelectNumber: 1, 232 recommendationOptions: recommendOptions 233 } 234 let photoPicker = new photoAccessHelper.PhotoViewPicker(); 235 photoPicker.select(options).then((PhotoSelectResult: photoAccessHelper.PhotoSelectResult) => { 236 console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult)); 237 }).catch((err: BusinessError) => { 238 console.error(`PhotoViewPicker.select failed with err: ${err.code}, ${err.message}`); 239 }); 240 } catch (error) { 241 let err: BusinessError = error as BusinessError; 242 console.error(`PhotoViewPicker failed with err: ${err.code}, ${err.message}`); 243 } 244} 245``` 246 247## SingleSelectionMode<sup>18+</sup> 248 249枚举,单选模式类型。 250 251**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。 252 253**系统能力:** SystemCapability.FileManagement.PhotoAccessHelper.Core 254 255| 名称 | 值 | 说明 | 256|---------------------------------------| ---- |----------| 257| BROWSER_MODE | 0 | 大图预览模式。 | 258| SELECT_MODE | 1 | 直接选中模式。 | 259| BROWSER_AND_SELECT_MODE | 2 | 兼容模式,点击右下角区域为直接选中模式,点击其他区域进入大图预览模式。 | 260 261## FilterOperator<sup>19+</sup> 262 263枚举,支持进行过滤的操作符。 264 265**原子化服务API:** 从API version 19开始,该接口支持在原子化服务中使用。 266 267**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 268 269| 名称 | 值 | 说明 | 270| ----- | ---- | ---- | 271| EQUAL_TO | 0 | 等于。 | 272| NOT_EQUAL_TO | 1 | 不等于。 | 273| MORE_THAN | 2 | 大于。 | 274| LESS_THAN | 3 | 小于。 | 275| MORE_THAN_OR_EQUAL_TO | 4 | 大于等于。 | 276| LESS_THAN_OR_EQUAL_TO | 5 | 小于等于。 | 277| BETWEEN | 6 | 在指定范围内。 | 278 279## DeliveryMode<sup>11+</sup> 280 281枚举,资源分发模式。 282 283该模式适用于分段式拍照或分段式视频。如果当前设备不具备分段式能力,则以下三种分发模式无区别,直接返回请求的图片或视频资源。请求的结果通过[onDataPrepared](./arkts-apis-photoAccessHelper-MediaAssetDataHandler.md#ondataprepared11)回调返回。 284 285**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 286 287| 名称 | 值 | 说明 | 288| ----- | ---- | ---- | 289| FAST_MODE | 0 | 快速模式。<br>针对分段式拍照或视频场景,若当前存在高质量图或视频,则立即返回高质量图或视频的请求结果回调;若当前存在低质量图或视频,则立即返回低质量图或视频的请求结果回调。 | 290| HIGH_QUALITY_MODE | 1 | 高质量模式。<br>针对分段式拍照或视频场景,若当前存在高质量图或视频,则立即返回高质量图或视频的请求结果回调;若当前存在低质量图或视频,则申请高质量图或视频的生成任务,待高质量图或视频生成后,返回高质量图或视频的请求结果回调。 | 291| BALANCE_MODE | 2 | 均衡模式。<br>- 针对分段式拍照场景,若当前存在高质量图,则立即返回高质量图的请求结果回调;若当前存在低质量图,则立即返回低质量图的请求结果回调,并申请高质量图生成任务,待高质量图生成后,再次返回高质量图的请求结果回调。<br>- 针对分段式视频场景,若当前存在高质量视频,则立即返回高质量视频的请求结果回调;若当前存在低质量视频,则立即返回低质量视频的请求结果回调。 | 292 293## CompatibleMode<sup>15+</sup> 294 295配置转码模式。 296 297**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 298 299| 名称 | 值 | 说明 | 300| ----- | ---- | ---- | 301| ORIGINAL_FORMAT_MODE | 0 | 原视频资源内容模式。 | 302| COMPATIBLE_FORMAT_MODE | 1 | 兼容模式,从HDR视频资源转换为SDR视频资源。 | 303 304## CompleteButtonText<sup>14+</sup> 305 306配置完成按钮显示内容。 307 308**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 309 310| 名称 | 值 | 说明 | 311| ----- | ---- | ---- | 312| TEXT_DONE<sup>14+</sup> | 0 | 显示“完成”。 <br>**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 | 313| TEXT_SEND<sup>14+</sup> | 1 | 显示“发送”。 <br>**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 | 314| TEXT_ADD<sup>14+</sup> | 2 | 显示“添加”。<br>**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 | 315 316## NotifyChangeType<sup>20+</sup> 317 318枚举,媒体资产(图片/视频)或相册变更事件的通知类型。 319 320**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 321 322| 名称 | 值 | 说明 | 323| ------------------------- | ---- | -------------------------------- | 324| NOTIFY_CHANGE_ADD | 0 | 媒体资产(图片/视频)或相册已经创建。 | 325| NOTIFY_CHANGE_UPDATE | 1 | 媒体资产(图片/视频)或相册已经修改。 | 326| NOTIFY_CHANGE_REMOVE | 2 | 媒体资产(图片/视频)或相册已经删除。 | 327 328## PhotoSource<sup>20+</sup> 329 330枚举,图片或者视频数据的来源类型。 331 332**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core 333 334| 名称 | 值 | 说明 | 335|-------------------|-----|--------------------------------------------------------------------------------------------------------------------| 336| ALL | 0 | 所有来源的图片、视频。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 337| CAMERA | 1 | 仅相机拍摄的图片、视频。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 338| SCREENSHOT | 2 | 截屏图片或者录屏视频。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 339