1# @ohos.multimedia.medialibrary (媒体库管理) 2 3> **说明:** 4> 5> - 该组件从API version 6开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 6> - 本模块从API version 9开始废弃。对应的替代接口请参考具体接口说明。 7 8## 导入模块 9 10```ts 11import mediaLibrary from '@ohos.multimedia.mediaLibrary'; 12``` 13 14## mediaLibrary.getMediaLibrary<sup>8+</sup> 15 16getMediaLibrary(context: Context): MediaLibrary 17 18获取媒体库的实例,用于访问和修改用户等个人媒体数据信息(如音频、视频、图片、文档等)。 19 20> **说明:** 21> 22> 此接口从API version 9开始废弃。请使用[getPhotoAccessHelper](js-apis-photoAccessHelper.md#photoaccesshelpergetphotoaccesshelper)替代。 23 24**模型约束**:此接口仅可在Stage模型下使用。 25 26**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 27 28**参数:** 29 30| 参数名 | 类型 | 必填 | 说明 | 31| ------- | ------- | ---- | -------------------------- | 32| context | Context | 是 | 传入Ability实例的Context。 | 33 34**返回值:** 35 36| 类型 | 说明 | 37| ----------------------------- | :---- | 38| [MediaLibrary](#medialibrary) | 媒体库实例。 | 39 40**示例:** 41 42```ts 43// 获取mediaLibrary实例,后续用到此实例均采用此处获取的实例。 44const context = getContext(this); 45let media: mediaLibrary.MediaLibrary = mediaLibrary.getMediaLibrary(context); 46``` 47 48## mediaLibrary.getMediaLibrary 49 50getMediaLibrary(): MediaLibrary 51 52获取媒体库的实例,用于访问和修改用户等个人媒体数据信息(如音频、视频、图片、文档等)。 53 54> **说明:** 55> 56> 此接口从API version 9开始废弃。无替代接口。 57 58**模型约束**:此接口仅可在FA模型下使用。 59 60**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 61 62**返回值:** 63 64| 类型 | 说明 | 65| ----------------------------- | :--------- | 66| [MediaLibrary](#medialibrary) | 媒体库实例。 | 67 68**示例:** 69 70```ts 71let media: mediaLibrary.MediaLibrary = mediaLibrary.getMediaLibrary(); 72``` 73 74## MediaLibrary 75 76### getFileAssets<sup>7+</sup> 77 78getFileAssets(options: MediaFetchOptions, callback: AsyncCallback<FetchFileResult>): void 79 80获取文件资源,使用callback方式返回异步结果。 81 82> **说明:** 83> 84> - 此接口从API version 9开始废弃。请使用[getAssets](js-apis-photoAccessHelper.md#getassets)替代。 85> - 在API version 10上,摒弃了物理目录作为相册的设计,采用了逻辑相册的设计,一个相册中可以添加多个文件,一个文件也可以在多个相册中呈现。新的设计将带来parent、albumId、albumUri和albumName属性使用上的不兼容,无法作为MediaFetchOptions的参数在getFileAssets接口中使用。请参考[changelogs-mediaLibrary.md](../../../release-notes/changelogs/OpenHarmony_4.0.8.2/changelogs-mediaLibrary.md)。 86 87**需要权限**:ohos.permission.READ_MEDIA 88 89**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 90 91**参数:** 92 93| 参数名 | 类型 | 必填 | 说明 | 94| -------- | --------------------------------------------------- | ---- | --------------------------------- | 95| options | [MediaFetchOptions](#mediafetchoptions7) | 是 | 文件检索选项。 | 96| callback | AsyncCallback<[FetchFileResult](#fetchfileresult7)> | 是 | callback返回文件检索结果集。 | 97 98**示例:** 99 100```ts 101async function example() { 102 let fileKeyObj = mediaLibrary.FileKey; 103 let imageType = mediaLibrary.MediaType.IMAGE; 104 // 创建文件获取选项,此处参数为获取image类型的文件资源。 105 let imagesFetchOp: mediaLibrary.MediaFetchOptions = { 106 selections: fileKeyObj.MEDIA_TYPE + '= ?', 107 selectionArgs: [imageType.toString()], 108 }; 109 // 获取文件资源,使用callback方式返回异步结果。 110 media.getFileAssets(imagesFetchOp, async (error, fetchFileResult) => { 111 // 判断获取的文件资源的检索结果集是否为undefined,若为undefined则接口调用失败。 112 if (fetchFileResult == undefined) { 113 console.error('get fetchFileResult failed with error: ' + error); 114 return; 115 } 116 // 获取文件检索结果集中的总数。 117 const count = fetchFileResult.getCount(); 118 // 判断结果集中的数量是否小于0,小于0时表示接口调用失败。 119 if (count < 0) { 120 console.error('get count from fetchFileResult failed, count: ' + count); 121 return; 122 } 123 // 判断结果集中的数量是否等于0,等于0时表示接口调用成功,但是检索结果集为空,请检查文件获取选项参数配置是否有误和设备中是否存在相应文件。 124 if (count == 0) { 125 console.info('The count of fetchFileResult is zero'); 126 return; 127 } 128 console.info('Get fetchFileResult successfully, count: ' + count); 129 // 获取文件检索结果集中的第一个资源,使用callback方式返回异步结果,文件数量较多时请使用getAllObject接口。 130 fetchFileResult.getFirstObject(async (error, fileAsset) => { 131 // 检查获取的第一个资源是否为undefined,若为undefined则接口调用失败。 132 if (fileAsset == undefined) { 133 console.error('get first object failed with error: ' + error); 134 return; 135 } 136 console.info('fileAsset.displayName ' + '0 : ' + fileAsset.displayName); 137 // 调用 getNextObject 接口获取下一个资源,直到最后一个。 138 for (let i = 1; i < count; i++) { 139 let fileAsset = await fetchFileResult.getNextObject(); 140 console.info('fileAsset.displayName ' + i + ': ' + fileAsset.displayName); 141 } 142 // 释放FetchFileResult实例并使其失效。无法调用其他方法。 143 fetchFileResult.close(); 144 }); 145 }); 146} 147``` 148 149### getFileAssets<sup>7+</sup> 150 151getFileAssets(options: MediaFetchOptions): Promise<FetchFileResult> 152 153获取文件资源,使用Promise方式返回结果。 154 155> **说明:** 156> 157> - 此接口从API version 9开始废弃。请使用[getAssets](js-apis-photoAccessHelper.md#getassets-1)替代。 158> - 在API version 10上,摒弃了物理目录作为相册的设计,采用了逻辑相册的设计,一个相册中可以添加多个文件,一个文件也可以在多个相册中呈现。新的设计将带来parent、albumId、albumUri和albumName属性使用上的不兼容,无法作为MediaFetchOptions的参数在getFileAssets接口中使用。请参考[changelogs-mediaLibrary.md](../../../release-notes/changelogs/OpenHarmony_4.0.8.2/changelogs-mediaLibrary.md)。 159 160**需要权限**:ohos.permission.READ_MEDIA 161 162**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 163 164**参数:** 165 166| 参数名 | 类型 | 必填 | 说明 | 167| ------- | ---------------------------------------- | ---- | ------------ | 168| options | [MediaFetchOptions](#mediafetchoptions7) | 是 | 文件检索选项。 | 169 170**返回值:** 171 172| 类型 | 说明 | 173| ------------------------------------ | -------------- | 174| Promise<[FetchFileResult](#fetchfileresult7)> | Promise对象,返回文件检索结果集。 | 175 176**示例:** 177 178```ts 179import { BusinessError } from '@ohos.base'; 180 181async function example() { 182 let fileKeyObj = mediaLibrary.FileKey; 183 let imageType = mediaLibrary.MediaType.IMAGE; 184 // 创建文件获取选项,此处参数为获取image类型的文件资源。 185 let imagesFetchOp: mediaLibrary.MediaFetchOptions = { 186 selections: fileKeyObj.MEDIA_TYPE + '= ?', 187 selectionArgs: [imageType.toString()], 188 }; 189 // 获取文件资源,使用Promise方式返回结果。 190 media.getFileAssets(imagesFetchOp).then(async (fetchFileResult) => { 191 // 获取文件检索结果集中的总数。 192 const count = fetchFileResult.getCount(); 193 // 判断结果集中的数量是否小于0,小于0时表示接口调用失败。 194 if (count < 0) { 195 console.error('get count from fetchFileResult failed, count: ' + count); 196 return; 197 } 198 // 判断结果集中的数量是否等于0,等于0时表示接口调用成功,但是检索结果集为空,请检查文件获取选项参数配置是否有误和设备中是否存在相应文件。 199 if (count == 0) { 200 console.info('The count of fetchFileResult is zero'); 201 return; 202 } 203 console.info('Get fetchFileResult successfully, count: ' + count); 204 // 获取文件检索结果集中的第一个资源,使用Promise方式返回异步结果,文件数量较多时请使用getAllObject接口。 205 fetchFileResult.getFirstObject().then(async (fileAsset) => { 206 console.info('fileAsset.displayName ' + '0 : ' + fileAsset.displayName); 207 // 调用 getNextObject 接口获取下一个资源,直到最后一个。 208 for (let i = 1; i < count; i++) { 209 let fileAsset = await fetchFileResult.getNextObject(); 210 console.info('fileAsset.displayName ' + i + ': ' + fileAsset.displayName); 211 } 212 // 释放FetchFileResult实例并使其失效。无法调用其他方法。 213 fetchFileResult.close(); 214 }).catch((error: BusinessError) => { 215 // 调用getFirstObject接口失败。 216 console.error('get first object failed with error: ' + error); 217 }); 218 }).catch((error: BusinessError) => { 219 // 调用getFileAssets接口失败。 220 console.error('get file assets failed with error: ' + error); 221 }); 222} 223``` 224 225### on<sup>8+</sup> 226 227on(type: 'deviceChange'|'albumChange'|'imageChange'|'audioChange'|'videoChange'|'fileChange'|'remoteFileChange', callback: Callback<void>): void 228 229打开媒体库变更通知,使用callback方式返回异步结果。 230 231> **说明:** 232> 233> 此接口从API version 9开始废弃。请使用[registerChange](js-apis-photoAccessHelper.md#registerchange)替代。 234 235**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 236 237**参数:** 238 239| 参数名 | 类型 | 必填 | 说明 | 240| -------- | -------------------- | ---- | ---------------------------------------- | 241| type | 'deviceChange'|<br/>'albumChange'|<br/>'imageChange'|<br/>'audioChange'|<br/>'videoChange'|<br/>'fileChange'|<br/>'remoteFileChange' | 是 | 媒体类型 <br/>'deviceChange': 注册设备变更 <br/>'albumChange': 相册变更<br/>'imageChange': 图片文件变更<br/>'audioChange': 音频文件变更<br/>'videoChange': 视频文件变更<br/>'fileChange': 文件变更<br/>'remoteFileChange': 注册设备上文件变更。 | 242| callback | Callback<void> | 是 | callbac返回空。 | 243 244**示例:** 245 246```ts 247media.on('imageChange', () => { 248 // image file had changed, do something. 249}); 250``` 251 252### off<sup>8+</sup> 253 254off(type: 'deviceChange'|'albumChange'|'imageChange'|'audioChange'|'videoChange'|'fileChange'|'remoteFileChange', callback?: Callback<void>): void 255 256关闭媒体库变更通知,使用callback方式返回异步结果。 257 258> **说明:** 259> 260> 此接口从API version 9开始废弃。请使用[unRegisterChange](js-apis-photoAccessHelper.md#unregisterchange)替代。 261 262**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 263 264**参数:** 265 266| 参数名 | 类型 | 必填 | 说明 | 267| -------- | -------------------- | ---- | ---------------------------------------- | 268| type | 'deviceChange'|<br/>'albumChange'|<br/>'imageChange'|<br/>'audioChange'|<br/>'videoChange'|<br/>'fileChange'|<br/>'remoteFileChange' | 是 | 媒体类型 <br/>'deviceChange': 注册设备变更 <br/>'albumChange': 相册变更<br/>'imageChange': 图片文件变更<br/>'audioChange': 音频文件变更<br/>'videoChange': 视频文件变更<br/>'fileChange': 文件变更<br/>'remoteFileChange': 注册设备上文件变更。 | 269| callback | Callback<void> | 否 | callback返回空。 | 270 271**示例:** 272 273```ts 274media.off('imageChange', () => { 275 // stop listening successfully. 276}); 277``` 278 279### createAsset<sup>8+</sup> 280 281createAsset(mediaType: MediaType, displayName: string, relativePath: string, callback: AsyncCallback<FileAsset>): void 282 283创建媒体资源,使用callback方式返回结果。 284 285> **说明:** 286> 287> - 此接口从API version 9开始废弃。请使用[createAsset](js-apis-photoAccessHelper.md#createasset)替代。 288> - 由于API version 10的SDK上relativePath和相册没有关联关系,文件创建成功后,relativePath的最后一级目录不会作为相册呈现。变更详情请参考[changelogs-mediaLibrary.md](../../../release-notes/changelogs/OpenHarmony_4.0.8.2/changelogs-mediaLibrary.md)。 289 290**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA 291 292**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 293 294**参数:** 295 296| 参数名 | 类型 | 必填 | 说明 | 297| ------------ | --------------------------------------- | ---- | ------------------------------------------------------------ | 298| mediaType | [MediaType](#mediatype8) | 是 | 媒体类型。 | 299| displayName | string | 是 | 展示文件名。 | 300| relativePath | string | 是 | 文件保存路径,可以通过[getPublicDirectory](#getpublicdirectory8)获取不同类型文件的保存路径。 | 301| callback | AsyncCallback<[FileAsset](#fileasset7)> | 是 | callback返回创建的媒体资源FileAsset对象。 | 302 303**示例:** 304 305```ts 306async function example() { 307 // 使用Callback方式创建Image类型文件。 308 let mediaType = mediaLibrary.MediaType.IMAGE; 309 let DIR_IMAGE = mediaLibrary.DirectoryType.DIR_IMAGE; 310 const path = await media.getPublicDirectory(DIR_IMAGE); 311 media.createAsset(mediaType, 'imageCallBack.jpg', path + 'myPicture/', (error, fileAsset) => { 312 if (fileAsset != undefined) { 313 console.info('createAsset successfully, message'); 314 } else { 315 console.error('createAsset failed with error: ' + error); 316 } 317 }); 318} 319``` 320 321### createAsset<sup>8+</sup> 322 323createAsset(mediaType: MediaType, displayName: string, relativePath: string): Promise<FileAsset> 324 325创建媒体资源,使用Promise方式返回结果。 326 327> **说明:** 328> 329> - 此接口从API version 9开始废弃。请使用[createAsset](js-apis-photoAccessHelper.md#createasset-1)替代。 330> - 由于API version 10的SDK上relativePath和相册没有关联关系,文件创建成功后,relativePath的最后一级目录不会作为相册呈现。变更详情请参考[changelogs-mediaLibrary.md](../../../release-notes/changelogs/OpenHarmony_4.0.8.2/changelogs-mediaLibrary.md)。 331 332**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA 333 334**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 335 336**参数:** 337 338| 参数名 | 类型 | 必填 | 说明 | 339| ------------ | ------------------------ | ---- | ------------------------------------------------------------ | 340| mediaType | [MediaType](#mediatype8) | 是 | 媒体类型。 | 341| displayName | string | 是 | 展示文件名。 | 342| relativePath | string | 是 | 相对路径,可以通过getPublicDirectory获取不同类型媒体文件的一层目录的relative path。 | 343 344**返回值:** 345 346| 类型 | 说明 | 347| ------------------------ | ----------------- | 348| Promise<[FileAsset](#fileasset7)> | Promise对象,返回创建媒体数据的FileAsset。 | 349 350**示例:** 351 352```ts 353import { BusinessError } from '@ohos.base'; 354 355async function example() { 356 // 使用Promise方式创建Image类型文件。 357 let mediaType = mediaLibrary.MediaType.IMAGE; 358 let DIR_IMAGE = mediaLibrary.DirectoryType.DIR_IMAGE; 359 const path = await media.getPublicDirectory(DIR_IMAGE); 360 media.createAsset(mediaType, 'imagePromise.jpg', path + 'myPicture/').then((fileAsset) => { 361 console.info('createAsset successfully, message = ' + JSON.stringify(fileAsset)); 362 }).catch((error: BusinessError) => { 363 console.error('createAsset failed with error: ' + error); 364 }); 365} 366``` 367 368### deleteAsset<sup>8+</sup> 369 370deleteAsset(uri: string): Promise\<void> 371 372删除媒体文件资源。 373 374调用该接口彻底删除文件前,需要先调用[FileAsset.trash](#trash8)将文件放入回收站,否则文件会删除失败。 375 376> **说明:** 377> 378> 此接口从API version 9开始废弃。请使用[deleteAssets](js-apis-photoAccessHelper.md#deleteassets-3)替代。 379 380**系统接口**:此接口为系统接口。 381 382**需要权限**:ohos.permission.READ_MEDIA 和 ohos.permission.WRITE_MEDIA 383 384**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 385 386**参数:** 387 388| 参数名 | 类型 | 必填 | 说明 | 389| -------- | ---------------------------- | ---- | --------------- | 390| uri | string | 是 | 需要删除的媒体文件资源的uri。 | 391 392**返回值:** 393 394| 类型 | 说明 | 395| ------------------- | -------------------- | 396| Promise<void> | Promise对象,返回删除的结果。 | 397 398**示例:** 399 400```ts 401import { BusinessError } from '@ohos.base'; 402 403async function example() { 404 let fileKeyObj = mediaLibrary.FileKey; 405 let fileType = mediaLibrary.MediaType.FILE; 406 let option: mediaLibrary.MediaFetchOptions = { 407 selections: fileKeyObj.MEDIA_TYPE + '= ?', 408 selectionArgs: [fileType.toString()], 409 }; 410 const fetchFileResult = await media.getFileAssets(option); 411 let asset = await fetchFileResult.getFirstObject(); 412 if (asset == undefined) { 413 console.error('asset not exist'); 414 return; 415 } 416 media.deleteAsset(asset.uri).then(() => { 417 console.info('deleteAsset successfully'); 418 }).catch((error: BusinessError) => { 419 console.error('deleteAsset failed with error: ' + error); 420 }); 421 fetchFileResult.close(); 422} 423``` 424 425### deleteAsset<sup>8+</sup> 426 427deleteAsset(uri: string, callback: AsyncCallback\<void>): void 428 429删除媒体文件资源。 430 431调用该接口彻底删除文件前,需要先调用[FileAsset.trash](#trash8)将文件放入回收站,否则文件会删除失败。 432 433> **说明:** 434> 435> 此接口从API version 9开始废弃。请使用[deleteAssets](js-apis-photoAccessHelper.md#deleteassets-2)替代。 436 437**系统接口**:此接口为系统接口。 438 439**需要权限**:ohos.permission.READ_MEDIA 和 ohos.permission.WRITE_MEDIA 440 441**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 442 443**参数:** 444 445| 参数名 | 类型 | 必填 | 说明 | 446| -------- | ---------------------------- | ---- | --------------- | 447| uri | string | 是 | 需要删除的媒体文件资源的uri。 | 448|callback |AsyncCallback\<void>| 是 |callback返回空。| 449 450**示例:** 451 452```ts 453async function example() { 454 let fileKeyObj = mediaLibrary.FileKey; 455 let fileType = mediaLibrary.MediaType.FILE; 456 let option: mediaLibrary.MediaFetchOptions = { 457 selections: fileKeyObj.MEDIA_TYPE + '= ?', 458 selectionArgs: [fileType.toString()], 459 }; 460 const fetchFileResult = await media.getFileAssets(option); 461 let asset = await fetchFileResult.getFirstObject(); 462 if (asset == undefined) { 463 console.error('asset not exist'); 464 return; 465 } 466 media.deleteAsset(asset.uri, (error) => { 467 if (error != undefined) { 468 console.error('deleteAsset failed with error: ' + error); 469 } else { 470 console.info('deleteAsset successfully'); 471 } 472 }); 473 fetchFileResult.close(); 474} 475``` 476 477### getPublicDirectory<sup>8+</sup> 478 479getPublicDirectory(type: DirectoryType, callback: AsyncCallback<string>): void 480 481获取公共目录路径,使用callback方式返回结果。 482 483> **说明:** 484> 485> 此接口从API version 9开始废弃。无替代接口。 486 487**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 488 489**参数:** 490 491| 参数名 | 类型 | 必填 | 说明 | 492| -------- | -------------------------------- | ---- | ------------------------- | 493| type | [DirectoryType](#directorytype8) | 是 | 公共目录类型。 | 494| callback | AsyncCallback<string> | 是 | callback返回公共目录路径。 | 495 496**示例:** 497 498```ts 499let DIR_CAMERA = mediaLibrary.DirectoryType.DIR_CAMERA; 500media.getPublicDirectory(DIR_CAMERA, (error, dicResult) => { 501 if (dicResult == 'Camera/') { 502 console.info('getPublicDirectory DIR_CAMERA successfully'); 503 } else { 504 console.error('getPublicDirectory DIR_CAMERA failed with error: ' + error); 505 } 506}); 507``` 508 509### getPublicDirectory<sup>8+</sup> 510 511getPublicDirectory(type: DirectoryType): Promise<string> 512 513获取公共目录路径,使用Promise方式返回结果。 514 515> **说明:** 516> 517> 此接口从API version 9开始废弃。无替代接口。 518 519**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 520 521**参数:** 522 523| 参数名 | 类型 | 必填 | 说明 | 524| ------ | -------------------------------- | ---- | ------------ | 525| type | [DirectoryType](#directorytype8) | 是 | 公共目录类型。 | 526 527**返回值:** 528 529| 类型 | 说明 | 530| ---------------- | ---------------- | 531| Promise\<string> | Promise对象,返回公共目录路径。 | 532 533**示例:** 534 535```ts 536import { BusinessError } from '@ohos.base'; 537 538async function example() { 539 let DIR_CAMERA = mediaLibrary.DirectoryType.DIR_CAMERA; 540 media.getPublicDirectory(DIR_CAMERA).then((dicResult) => { 541 if (dicResult == 'Camera/') { 542 console.info('getPublicDirectory DIR_CAMERA successfully'); 543 } else { 544 console.error('getPublicDirectory DIR_CAMERA failed'); 545 } 546 }).catch((error: BusinessError) => { 547 console.error('getPublicDirectory failed with error: ' + error); 548 }); 549} 550``` 551 552### getAlbums<sup>7+</sup> 553 554getAlbums(options: MediaFetchOptions, callback: AsyncCallback<Array<Album>>): void 555 556获取相册列表,使用callback 方式返回结果。 557 558> **说明:** 559> 560> - 此接口从API version 9开始废弃。请使用[getAlbums](js-apis-photoAccessHelper.md#getalbums)替代。 561> - 由于API version 10的SDK上relativePath和相册没有关联关系,在使用getAlbums时不支持relativePath作为查询条件,当前仅支持“Camera”和“ScreenShots”两类相册,变更详情请参考[changelogs-mediaLibrary.md](../../../release-notes/changelogs/OpenHarmony_4.0.8.2/changelogs-mediaLibrary.md)。 562 563**需要权限**:ohos.permission.READ_MEDIA 564 565**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 566 567**参数:** 568 569| 参数名 | 类型 | 必填 | 说明 | 570| -------- | -------------------------------------------- | ---- | --------------------------- | 571| options | [MediaFetchOptions](#mediafetchoptions7) | 是 | 相册检索条件。 | 572| callback | AsyncCallback<Array<[Album](#album7)>> | 是 | callback返回获取的Album结果集。 | 573 574**示例:** 575 576```ts 577async function example() { 578 let albumFetchOp: mediaLibrary.MediaFetchOptions = { 579 selections: mediaLibrary.FileKey.ALBUM_NAME + '= ?', 580 selectionArgs: ['Camera'], 581 }; 582 media.getAlbums(albumFetchOp, (error, albumList) => { 583 if (albumList != undefined) { 584 console.info('getAlbums successfully: ' + JSON.stringify(albumList)); 585 } else { 586 console.error('getAlbums failed with error: ' + error); 587 } 588 }); 589} 590``` 591 592### getAlbums<sup>7+</sup> 593 594getAlbums(options: MediaFetchOptions): Promise<Array<Album>> 595 596获取相册列表,使用 promise 方式返回结果。 597 598> **说明:** 599> 600> - 此接口从API version 9开始废弃。请使用[getAlbums](js-apis-photoAccessHelper.md#getalbums-2)替代。 601> - 由于API version 10的SDK上relativePath和相册没有关联关系,在使用getAlbums时不支持relativePath作为查询条件.当前仅支持“Camera”和“ScreenShots”两类相册,变更详情请参考[changelogs-mediaLibrary.md](../../../release-notes/changelogs/OpenHarmony_4.0.8.2/changelogs-mediaLibrary.md)。 602 603**需要权限**:ohos.permission.READ_MEDIA 604 605**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 606 607**参数:** 608 609| 参数名 | 类型 | 必填 | 说明 | 610| ------- | ---------------------------------------- | ---- | ------------ | 611| options | [MediaFetchOptions](#mediafetchoptions7) | 是 | 相册获取条件。 | 612 613**返回值:** 614 615| 类型 | 说明 | 616| -------------------------------- | ------------- | 617| Promise<Array<[Album](#album7)>> | Promise对象,返回获取的Album结果集。 | 618 619**示例:** 620 621```ts 622import { BusinessError } from '@ohos.base'; 623 624async function example() { 625 let albumFetchOp: mediaLibrary.MediaFetchOptions = { 626 selections: mediaLibrary.FileKey.ALBUM_NAME + '= ?', 627 selectionArgs: ['Camera'], 628 }; 629 media.getAlbums(albumFetchOp).then((albumList) => { 630 console.info('getAlbums successfully: ' + JSON.stringify(albumList)); 631 }).catch((error: BusinessError) => { 632 console.error('getAlbums failed with error: ' + error); 633 }); 634} 635``` 636 637### release<sup>8+</sup> 638 639release(callback: AsyncCallback<void>): void 640 641释放MediaLibrary实例。 642当后续不需要使用MediaLibrary实例中的方法时调用。 643 644> **说明:** 645> 646> 此接口从API version 9开始废弃。请使用[release](js-apis-photoAccessHelper.md#release)替代。 647 648**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 649 650**参数:** 651 652| 参数名 | 类型 | 必填 | 说明 | 653| -------- | ------------------------- | ---- | ---------- | 654| callback | AsyncCallback<void> | 是 | callback返回空。 | 655 656**示例:** 657 658```ts 659media.release(() => { 660 // do something. 661}); 662``` 663 664### release<sup>8+</sup> 665 666release(): Promise<void> 667 668释放MediaLibrary实例。 669当后续不需要使用MediaLibrary实例中的方法时调用。 670 671> **说明:** 672> 673> 此接口从API version 9开始废弃。请使用[release](js-apis-photoAccessHelper.md#release-1)替代。 674 675**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 676 677**返回值:** 678 679| 类型 | 说明 | 680| ------------------- | -------------------- | 681| Promise<void> | Promise对象,返回空。 | 682 683**示例:** 684 685```ts 686media.release(); 687``` 688 689### storeMediaAsset 690 691storeMediaAsset(option: MediaAssetOption, callback: AsyncCallback<string>): void 692 693保存媒体资源,以异步方法获取保存成功的URI,使用callback形式返回结果。 694 695> **说明:** 696> 697> - 此接口为API version 6开始支持,只支持FA模型使用。 698> - 此接口从API version 9开始废弃。请使用[save](js-apis-file-picker.md#save-1)接口替代。 699 700**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 701 702**参数:** 703 704| 参数名 | 类型 | 必填 | 说明 | 705| -------- | ------------------------------------- | ---- | ----------------------- | 706| option | [MediaAssetOption](#mediaassetoption) | 是 | 媒体资源选项。 | 707| callback | AsyncCallback<string> | 是 | callback返回保存媒体资源成功后得到的URI。 | 708 709**示例:** 710 711```ts 712let option: mediaLibrary.MediaAssetOption = { 713 src : '/data/storage/el2/base/haps/entry/image.png', 714 mimeType : 'image/*', 715 relativePath : 'Pictures/' 716}; 717mediaLibrary.getMediaLibrary().storeMediaAsset(option, (error, value) => { 718 if (error) { 719 console.error('storeMediaAsset failed with error: ' + error); 720 return; 721 } 722 console.info('Media resources stored. '); 723 // Obtain the URI that stores media resources. 724}); 725``` 726 727### storeMediaAsset 728 729storeMediaAsset(option: MediaAssetOption): Promise<string> 730 731保存媒体资源,以异步方法获取保存成功的URI,使用Promise形式返回结果。 732 733> **说明:** 734> 735> - 此接口为API version 6开始支持,只支持FA模型使用。 736> - 此接口从API version 9开始废弃。请使用[save](js-apis-file-picker.md#save)接口替代。 737 738**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 739 740**参数:** 741 742| 参数名 | 类型 | 必填 | 说明 | 743| ------ | ------------------------------------- | ---- | ------- | 744| option | [MediaAssetOption](#mediaassetoption) | 是 | 媒体资源选项。 | 745 746**返回值:** 747 748| 类型 | 说明 | 749| --------------------- | ---------------------------- | 750| Promise<string> | Promise对象,返回保存媒体资源成功后得到的URI。 | 751 752**示例:** 753 754```ts 755import { BusinessError } from '@ohos.base'; 756 757let option: mediaLibrary.MediaAssetOption = { 758 src : '/data/storage/el2/base/haps/entry/image.png', 759 mimeType : 'image/*', 760 relativePath : 'Pictures/' 761}; 762mediaLibrary.getMediaLibrary().storeMediaAsset(option).then((value) => { 763 console.info('Media resources stored.'); 764 // Obtain the URI that stores media resources. 765}).catch((error: BusinessError) => { 766 console.error('storeMediaAsset failed with error: ' + error); 767}); 768``` 769 770### startImagePreview 771 772startImagePreview(images: Array<string>, index: number, callback: AsyncCallback<void>): void 773 774启动图片预览界面并限定预览开始显示的图片。可以预览指定序号的单张本地图片(file://),也可以预览列表中的所有网络图片(https://)。使用callback方式进行异步回调。 775 776> **说明:** 777> 778> - 此接口为API version 6开始支持,只支持FA模型使用。 779> - 此接口从API version 9开始废弃。建议使用[Image组件](../arkui-ts/ts-basic-components-image.md)替代。<br/>Image组件,可用于本地图片和网络图片的渲染展示。 780 781**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 782 783**参数:** 784 785| 参数名 | 类型 | 必填 | 说明 | 786| -------- | ------------------------- | ---- | ---------------------------------------- | 787| images | Array<string> | 是 | 预览的图片URI('https://','file://')列表。 | 788| index | number | 是 | 开始显示的图片序号。 | 789| callback | AsyncCallback<void> | 是 | callback返回空。 | 790 791**示例:** 792 793```ts 794let images = [ 795 'file://media/xxxx/2', 796 'file://media/xxxx/3' 797]; 798/* 网络图片使用方式。 799let images = [ 800 'https://media.xxxx.com/image1.jpg', 801 'https://media.xxxx.com/image2.jpg' 802]; 803*/ 804let index = 1; 805mediaLibrary.getMediaLibrary().startImagePreview(images, index, (error) => { 806 if (error) { 807 console.error('startImagePreview failed with error: ' + error); 808 return; 809 } 810 console.info('Succeeded in previewing the images.'); 811}); 812``` 813 814### startImagePreview 815 816startImagePreview(images: Array<string>, callback: AsyncCallback<void>): void 817 818启动图片预览界面,可以预览列表中首张本地图片(file://),也可以预览列表中的所有网络图片(https://)。使用callback方式进行异步回调。 819 820> **说明:** 821> 822> - 此接口为API version 6开始支持,只支持FA模型使用。 823> - 此接口从API version 9开始废弃。建议使用[Image组件](../arkui-ts/ts-basic-components-image.md)替代。<br/>Image组件,可用于本地图片和网络图片的渲染展示。 824 825**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 826 827**参数:** 828 829| 参数名 | 类型 | 必填 | 说明 | 830| -------- | ------------------------- | ---- | ---------------------------------------- | 831| images | Array<string> | 是 | 预览的图片URI('https://','file://')列表。 | 832| callback | AsyncCallback<void> | 是 | callback返回空。 | 833 834**示例:** 835 836```ts 837let images = [ 838 'file://media/xxxx/2', 839 'file://media/xxxx/3' 840]; 841/* 网络图片使用方式。 842let images = [ 843 'https://media.xxxx.com/image1.jpg', 844 'https://media.xxxx.com/image2.jpg' 845]; 846*/ 847mediaLibrary.getMediaLibrary().startImagePreview(images, (error) => { 848 if (error) { 849 console.error('startImagePreview failed with error: ' + error); 850 return; 851 } 852 console.info('Succeeded in previewing the images.'); 853}); 854``` 855 856### startImagePreview 857 858startImagePreview(images: Array<string>, index?: number): Promise<void> 859 860启动图片预览界面并限定预览开始显示的图片。可以预览指定序号的单张本地图片(file://),也可以预览列表中的所有网络图片(https://)。使用Promise方式进行异步回调。 861 862> **说明:** 863> 864> - 此接口为API version 6开始支持,只支持FA模型使用。 865> - 此接口从API version 9开始废弃。建议使用[Image组件](../arkui-ts/ts-basic-components-image.md)替代。<br/>Image组件,可用于本地图片和网络图片的渲染展示。 866 867**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 868 869**参数:** 870 871| 参数名 | 类型 | 必填 | 说明 | 872| ------ | ------------------- | ---- | ---------------------------------------- | 873| images | Array<string> | 是 | 预览的图片URI('https://','file://')列表。 | 874| index | number | 否 | 开始显示的图片序号,不选择时默认为0。 | 875 876**返回值:** 877 878| 类型 | 说明 | 879| ------------------- | ------------------------------- | 880| Promise<void> | Promise对象,返回空。 | 881 882**示例:** 883 884```ts 885import { BusinessError } from '@ohos.base'; 886 887let images = [ 888 'file://media/xxxx/2', 889 'file://media/xxxx/3' 890]; 891/* 网络图片使用方式。 892let images = [ 893 'https://media.xxxx.com/image1.jpg', 894 'https://media.xxxx.com/image2.jpg' 895]; 896*/ 897let index = 1; 898mediaLibrary.getMediaLibrary().startImagePreview(images, index).then(() => { 899 console.info('Succeeded in previewing the images.'); 900}).catch((error: BusinessError) => { 901 console.error('startImagePreview failed with error: ' + error); 902}); 903``` 904 905### startMediaSelect 906 907startMediaSelect(option: MediaSelectOption, callback: AsyncCallback<Array<string>>): void 908 909启动媒体选择界面,以异步方法获取选择的媒体URI列表,使用callback形式返回结果。 910 911> **说明:** 912> 913> - 此接口为API version 6开始支持,只支持FA模型使用。 914> - 此接口从API version 9开始废弃。请使用[select](js-apis-file-picker.md#select-1)接口替代。 915 916**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 917 918**参数:** 919 920| 参数名 | 类型 | 必填 | 说明 | 921| -------- | ---------------------------------------- | ---- | ------------------------------------ | 922| option | [MediaSelectOption](#mediaselectoption) | 是 | 媒体选择选项。 | 923| callback | AsyncCallback<Array<string>> | 是 | callback返回选择的媒体URI列表。 | 924 925**示例:** 926 927```ts 928let option : mediaLibrary.MediaSelectOption = { 929 type : 'media', 930 count : 2 931}; 932mediaLibrary.getMediaLibrary().startMediaSelect(option, (error, value) => { 933 if (error) { 934 console.error('startMediaSelect failed with error: ' + error); 935 return; 936 } 937 console.info('Media resources selected.'); 938 // Obtain the media selection value. 939}); 940``` 941 942### startMediaSelect 943 944startMediaSelect(option: MediaSelectOption): Promise<Array<string>> 945 946启动媒体选择界面,以异步方法获取选择的媒体URI列表,使用Promise形式返回结果。 947 948> **说明:** 949> 950> - 此接口为API version 6开始支持,只支持FA模型使用。 951> - 此接口从API version 9开始废弃。请使用[select](js-apis-file-picker.md#select)接口替代。 952 953**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 954 955**参数:** 956 957| 参数名 | 类型 | 必填 | 说明 | 958| ------ | --------------------------------------- | ---- | ------- | 959| option | [MediaSelectOption](#mediaselectoption) | 是 | 媒体选择选项。 | 960 961**返回值:** 962 963| 类型 | 说明 | 964| ---------------------------------- | ---------------------------------------- | 965| Promise<Array<string>> | Promise对象,返回选择的媒体URI列表。 | 966 967**示例:** 968 969```ts 970import { BusinessError } from '@ohos.base'; 971 972let option : mediaLibrary.MediaSelectOption = { 973 type : 'media', 974 count : 2 975}; 976mediaLibrary.getMediaLibrary().startMediaSelect(option).then((value) => { 977 console.info('Media resources selected.'); 978 // Obtain the media selection value. 979}).catch((error: BusinessError) => { 980 console.error('startMediaSelect failed with error: ' + error); 981}); 982``` 983 984### getActivePeers<sup>8+</sup> 985 986getActivePeers(): Promise\<Array\<PeerInfo>>; 987 988获取在线对端设备的信息,使用Promise方式返回异步结果。 989 990> **说明:** 991> 992> 此接口从API version 9开始废弃。无替代接口。 993 994**系统接口**:此接口为系统接口。 995 996**需要权限**:ohos.permission.READ_MEDIA 997 998**系统能力**:SystemCapability.Multimedia.MediaLibrary.DistributedCore 999 1000**返回值:** 1001 1002| 类型 | 说明 | 1003| ------------------- | -------------------- | 1004| Promise\<Array\<[PeerInfo](#peerinfo8)>> | Promise对象,返回获取的所有在线对端设备的PeerInfo。 | 1005 1006**示例:** 1007 1008```ts 1009import { BusinessError } from '@ohos.base'; 1010 1011async function example() { 1012 media.getActivePeers().then((devicesInfo) => { 1013 if (devicesInfo != undefined) { 1014 console.info('get distributed info ' + JSON.stringify(devicesInfo)); 1015 } else { 1016 console.info('get distributed info is undefined!'); 1017 } 1018 }).catch((error: BusinessError) => { 1019 console.error('get distributed info failed with error: ' + error); 1020 }); 1021} 1022``` 1023 1024### getActivePeers<sup>8+</sup> 1025 1026getActivePeers(callback: AsyncCallback\<Array\<PeerInfo>>): void; 1027 1028获取在线对端设备的信息,使用callback方式返回异步结果。 1029 1030> **说明:** 1031> 1032> 此接口从API version 9开始废弃。无替代接口。 1033 1034**系统接口**:此接口为系统接口。 1035 1036**需要权限**:ohos.permission.READ_MEDIA 1037 1038**系统能力**:SystemCapability.Multimedia.MediaLibrary.DistributedCore 1039 1040**返回值:** 1041 1042| 类型 | 说明 | 1043| ------------------- | -------------------- | 1044| callback: AsyncCallback\<Array\<[PeerInfo](#peerinfo8)>> | callback返回获取的所有在线对端设备的PeerInfo对象。 | 1045 1046**示例:** 1047 1048```ts 1049async function example() { 1050 media.getActivePeers((error, devicesInfo) => { 1051 if (devicesInfo != undefined) { 1052 console.info('get distributed info ' + JSON.stringify(devicesInfo)); 1053 } else { 1054 console.error('get distributed failed with error: ' + error); 1055 } 1056 }); 1057} 1058``` 1059 1060### getAllPeers<sup>8+</sup> 1061 1062getAllPeers(): Promise\<Array\<PeerInfo>>; 1063 1064获取所有对端设备的信息,使用Promise方式返回异步结果。 1065 1066> **说明:** 1067> 1068> 此接口从API version 9开始废弃。无替代接口。 1069 1070**系统接口**:此接口为系统接口。 1071 1072**需要权限**:ohos.permission.READ_MEDIA 1073 1074**系统能力**:SystemCapability.Multimedia.MediaLibrary.DistributedCore 1075 1076**返回值:** 1077 1078| 类型 | 说明 | 1079| ------------------- | -------------------- | 1080| Promise\<Array\<[PeerInfo](#peerinfo8)>> | Promise对象,返回获取的所有对端设备的PeerInfo。 | 1081 1082**示例:** 1083 1084```ts 1085import { BusinessError } from '@ohos.base'; 1086 1087async function example() { 1088 media.getAllPeers().then((devicesInfo) => { 1089 if (devicesInfo != undefined) { 1090 console.info('get distributed info ' + JSON.stringify(devicesInfo)); 1091 } else { 1092 console.info('get distributed info is undefined!'); 1093 } 1094 }).catch((error: BusinessError) => { 1095 console.error('get distributed info failed with error: ' + error); 1096 }); 1097} 1098``` 1099 1100### getAllPeers<sup>8+</sup> 1101 1102getAllPeers(callback: AsyncCallback\<Array\<PeerInfo>>): void; 1103 1104获取所有对端设备的信息,使用callback方式返回异步结果。 1105 1106> **说明:** 1107> 1108> 此接口从API version 9开始废弃。无替代接口。 1109 1110**系统接口**:此接口为系统接口。 1111 1112**需要权限**:ohos.permission.READ_MEDIA 1113 1114**系统能力**:SystemCapability.Multimedia.MediaLibrary.DistributedCore 1115 1116**返回值:** 1117 1118| 类型 | 说明 | 1119| ------------------- | -------------------- | 1120| callback: AsyncCallback\<Array\<[PeerInfo](#peerinfo8)>> | callback返回获取的所有对端设备的PeerInfo对象。 | 1121 1122**示例:** 1123 1124```ts 1125async function example() { 1126 media.getAllPeers((error, devicesInfo) => { 1127 if (devicesInfo != undefined) { 1128 console.info('get distributed info ' + JSON.stringify(devicesInfo)); 1129 } else { 1130 console.error('get distributed failed with error: ' + error); 1131 } 1132 }); 1133} 1134``` 1135 1136## FileAsset<sup>7+</sup> 1137 1138提供封装文件属性的方法。 1139 1140> **说明:** 1141> 1142> - title字段默认为去掉后缀的文件名,音频和视频文件会尝试解析文件内容,部分设备写入后在触发扫描时会被还原。 1143> - orientation字段部分设备可能不支持修改,建议使用image组件的[ModifyImageProperty](js-apis-image.md#modifyimageproperty9)接口。 1144> - 此接口从API version 9开始废弃。请使用[PhotoAsset](js-apis-photoAccessHelper.md#photoasset)替代。 1145 1146### 属性 1147 1148**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.MediaLibrary.Core 1149 1150| 名称 | 类型 | 可读 | 可写 | 说明 | 1151| ------------------------- | ------------------------ | ---- | ---- | ------------------------------------------------------ | 1152| id | number | 是 | 否 | 文件资源编号。 | 1153| uri | string | 是 | 否 | 文件资源uri(如:file://media/image/2)。 | 1154| mimeType | string | 是 | 否 | 文件扩展属性。 | 1155| mediaType<sup>8+</sup> | [MediaType](#mediatype8) | 是 | 否 | 媒体类型。 | 1156| displayName | string | 是 | 是 | 显示文件名,包含后缀名。 | 1157| title | string | 是 | 是 | 文件标题。 | 1158| relativePath<sup>8+</sup> | string | 是 | 是 | 相对公共目录路径。 | 1159| parent<sup>8+</sup> | number | 是 | 否 | 父目录id。由于API version 10的SDK上Asset可以存在多个相册,该属性不兼容。获取值始终为0。 | 1160| size | number | 是 | 否 | 文件大小(单位:字节)。 | 1161| dateAdded | number | 是 | 否 | 添加日期(添加文件时间到1970年1月1日的秒数值)。 | 1162| dateModified | number | 是 | 否 | 修改日期(修改文件时间到1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新)。| 1163| dateTaken | number | 是 | 否 | 拍摄日期(文件拍照时间到1970年1月1日的秒数值)。 | 1164| artist<sup>8+</sup> | string | 是 | 否 | 作者。 | 1165| audioAlbum<sup>8+</sup> | string | 是 | 否 | 专辑。 | 1166| width | number | 是 | 否 | 图片宽度(单位:像素)。 | 1167| height | number | 是 | 否 | 图片高度(单位:像素)。 | 1168| orientation | number | 是 | 是 | 图片显示方向(顺时针旋转角度,如0,90,180 单位:度)。 | 1169| duration<sup>8+</sup> | number | 是 | 否 | 持续时间(单位:毫秒)。 | 1170| albumId | number | 是 | 否 | 文件所归属的相册编号。由于API version 10的SDK上Asset可以存在多个相册,该属性不兼容。获取值始终为0。 | 1171| albumUri<sup>8+</sup> | string | 是 | 否 | 文件所归属相册uri。由于API version 10的SDK上Asset可以存在多个相册,该属性不兼容。获取值始终为空字符串。 | 1172| albumName | string | 是 | 否 | 文件所归属相册名称。由于API version 10的SDK上Asset可以存在多个相册,该属性不兼容。获取值始终为空字符串。 | 1173 1174### isDirectory<sup>8+</sup> 1175 1176isDirectory(callback: AsyncCallback<boolean>): void 1177 1178判断fileAsset是否为目录,使用callback方式返回异步结果。 1179 1180> **说明:** 1181> 1182> 此接口从API version 9开始废弃。无替代接口。 1183 1184**需要权限**:ohos.permission.READ_MEDIA 1185 1186**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1187 1188**参数:** 1189 1190| 参数名 | 类型 | 必填 | 说明 | 1191| -------- | ---------------------------- | ---- | ------------------- | 1192| callback | AsyncCallback<boolean> | 是 | callback返回boolean值,值为true则是目录,值为false则非目录。 | 1193 1194**示例:** 1195 1196```ts 1197async function example() { 1198 let fileKeyObj = mediaLibrary.FileKey; 1199 let imageType = mediaLibrary.MediaType.IMAGE; 1200 let getImageOp: mediaLibrary.MediaFetchOptions = { 1201 selections: fileKeyObj.MEDIA_TYPE + '= ?', 1202 selectionArgs: [imageType.toString()], 1203 order: fileKeyObj.DATE_ADDED + ' DESC', 1204 }; 1205 const fetchFileResult = await media.getFileAssets(getImageOp); 1206 const asset = await fetchFileResult.getFirstObject(); 1207 asset.isDirectory((error, isDirectory) => { 1208 if (error) { 1209 console.error('isDirectory failed with error: ' + error); 1210 } else { 1211 console.info('isDirectory result:' + isDirectory); 1212 } 1213 }); 1214 fetchFileResult.close(); 1215} 1216``` 1217 1218### isDirectory<sup>8+</sup> 1219 1220isDirectory():Promise<boolean> 1221 1222判断fileAsset是否为目录,使用Promise方式返回异步结果。 1223 1224> **说明:** 1225> 1226> 此接口从API version 9开始废弃。无替代接口。 1227 1228**需要权限**:ohos.permission.READ_MEDIA 1229 1230**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1231 1232**返回值:** 1233 1234| 类型 | 说明 | 1235| ---------------------- | ---------------------------- | 1236| Promise<boolean> | Promise对象,返回boolean值,值为true则是目录,值为false则非目录。 | 1237 1238**示例:** 1239 1240```ts 1241import { BusinessError } from '@ohos.base'; 1242 1243async function example() { 1244 let fileKeyObj = mediaLibrary.FileKey; 1245 let imageType = mediaLibrary.MediaType.IMAGE; 1246 let getImageOp: mediaLibrary.MediaFetchOptions = { 1247 selections: fileKeyObj.MEDIA_TYPE + '= ?', 1248 selectionArgs: [imageType.toString()], 1249 order: fileKeyObj.DATE_ADDED + ' DESC', 1250 }; 1251 const fetchFileResult = await media.getFileAssets(getImageOp); 1252 const asset = await fetchFileResult.getFirstObject(); 1253 asset.isDirectory().then((isDirectory) => { 1254 console.info('isDirectory result:' + isDirectory); 1255 }).catch((error: BusinessError) => { 1256 console.error('isDirectory failed with error: ' + error); 1257 }); 1258 fetchFileResult.close(); 1259} 1260``` 1261 1262### commitModify<sup>8+</sup> 1263 1264commitModify(callback: AsyncCallback<void>): void 1265 1266修改文件的元数据,使用callback方式返回异步结果。 1267 1268> **说明:** 1269> 1270> - 此接口从API version 9开始废弃。请使用[commitModify](js-apis-photoAccessHelper.md#commitmodify)替代。 1271> - 由于API version 10的SDK上audio没有orientation属性,在使用commitModify接口时将无法对audio资源的orientation属性进行修改。请参考[changelogs-mediaLibrary.md](../../../release-notes/changelogs/OpenHarmony_4.0.8.2/changelogs-mediaLibrary.md)。 1272 1273**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA 1274 1275**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1276 1277**参数:** 1278 1279| 参数名 | 类型 | 必填 | 说明 | 1280| -------- | ------------------------- | ---- | ----- | 1281| callback | AsyncCallback<void> | 是 | callback返回空。 | 1282 1283**示例:** 1284 1285```ts 1286async function example() { 1287 let fileKeyObj = mediaLibrary.FileKey; 1288 let imageType = mediaLibrary.MediaType.IMAGE; 1289 let getImageOp: mediaLibrary.MediaFetchOptions = { 1290 selections: fileKeyObj.MEDIA_TYPE + '= ?', 1291 selectionArgs: [imageType.toString()], 1292 order: fileKeyObj.DATE_ADDED + ' DESC', 1293 }; 1294 const fetchFileResult = await media.getFileAssets(getImageOp); 1295 const asset = await fetchFileResult.getFirstObject(); 1296 asset.title = 'newtitle'; 1297 asset.commitModify(() => { 1298 console.info('commitModify successfully'); 1299 }); 1300 fetchFileResult.close(); 1301} 1302``` 1303 1304### commitModify<sup>8+</sup> 1305 1306commitModify(): Promise<void> 1307 1308修改文件的元数据,使用promise方式返回异步结果。 1309 1310> **说明:** 1311> 1312> - 此接口从API version 9开始废弃。请使用[commitModify](js-apis-photoAccessHelper.md#commitmodify-1)替代。 1313> 由于API version 10的SDK上audio没有orientation属性,在使用commitModify接口时将无法对audio资源的orientation属性进行修改。请参考[changelogs-mediaLibrary.md](../../../release-notes/changelogs/OpenHarmony_4.0.8.2/changelogs-mediaLibrary.md)。 1314 1315**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA 1316 1317**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1318 1319**返回值:** 1320 1321| 类型 | 说明 | 1322| ------------------- | ---------- | 1323| Promise<void> | Promise对象,返回空。 | 1324 1325**示例:** 1326 1327```ts 1328async function example() { 1329 let fileKeyObj = mediaLibrary.FileKey; 1330 let imageType = mediaLibrary.MediaType.IMAGE; 1331 let getImageOp: mediaLibrary.MediaFetchOptions = { 1332 selections: fileKeyObj.MEDIA_TYPE + '= ?', 1333 selectionArgs: [imageType.toString()], 1334 order: fileKeyObj.DATE_ADDED + ' DESC', 1335 }; 1336 const fetchFileResult = await media.getFileAssets(getImageOp); 1337 const asset = await fetchFileResult.getFirstObject(); 1338 asset.title = 'newtitle'; 1339 await asset.commitModify(); 1340 fetchFileResult.close(); 1341} 1342``` 1343 1344### open<sup>8+</sup> 1345 1346open(mode: string, callback: AsyncCallback<number>): void 1347 1348打开当前文件,使用callback方式返回异步结果。 1349 1350> **说明:** 1351> 1352> 此接口从API version 9开始废弃。请使用[open](js-apis-photoAccessHelper.md#open)替代。 1353 1354**注意**:以 'w' 模式打开文件时,返回的fd无法进行读取。但由于不同文件系统实现上的差异,部分用户态文件系统在 'w' 模式打开时会允许用fd读取。若有针对fd的读写行为,建议使用 'rw' 模式打开文件。当前写操作是互斥的操作,写操作完成后需要调用close进行释放。 1355 1356**需要权限**:ohos.permission.READ_MEDIA or ohos.permission.WRITE_MEDIA 1357 1358**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1359 1360**参数:** 1361 1362| 参数名 | 类型 | 必填 | 说明 | 1363| -------- | --------------------------- | ---- | ----------------------------------- | 1364| mode | string | 是 | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写)。 | 1365| callback | AsyncCallback<number> | 是 | callback返回文件描述符。 | 1366 1367**示例:** 1368 1369```ts 1370async function example() { 1371 let mediaType = mediaLibrary.MediaType.IMAGE; 1372 let DIR_IMAGE = mediaLibrary.DirectoryType.DIR_IMAGE; 1373 const path = await media.getPublicDirectory(DIR_IMAGE); 1374 const asset = await media.createAsset(mediaType, 'image00003.jpg', path); 1375 asset.open('rw', (error, fd) => { 1376 if (fd > 0) { 1377 asset.close(fd); 1378 } else { 1379 console.error('File Open failed with error: ' + error); 1380 } 1381 }); 1382} 1383``` 1384 1385### open<sup>8+</sup> 1386 1387open(mode: string): Promise<number> 1388 1389打开当前文件,使用promise方式返回异步结果。 1390 1391> **说明:** 1392> 1393> 此接口从API version 9开始废弃。请使用[open](js-apis-photoAccessHelper.md#open-1)替代。 1394 1395**注意**:以 'w' 模式打开文件时,返回的fd无法进行读取。但由于不同文件系统实现上的差异,部分用户态文件系统在 'w' 模式打开时会允许用fd读取。若有针对fd的读写行为,建议使用 'rw' 模式打开文件。当前写操作是互斥的操作,写操作完成后需要调用close进行释放。 1396 1397**需要权限**:ohos.permission.READ_MEDIA or ohos.permission.WRITE_MEDIA 1398 1399**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1400 1401**参数:** 1402 1403| 参数名 | 类型 | 必填 | 说明 | 1404| ---- | ------ | ---- | ----------------------------------- | 1405| mode | string | 是 | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写)。 | 1406 1407**返回值:** 1408 1409| 类型 | 说明 | 1410| --------------------- | ------------- | 1411| Promise<number> | Promise对象,返回文件描述符。 | 1412 1413**示例:** 1414 1415```ts 1416import { BusinessError } from '@ohos.base'; 1417 1418async function example() { 1419 let mediaType = mediaLibrary.MediaType.IMAGE; 1420 let DIR_IMAGE = mediaLibrary.DirectoryType.DIR_IMAGE; 1421 const path = await media.getPublicDirectory(DIR_IMAGE); 1422 const asset = await media.createAsset(mediaType, 'image00003.jpg', path); 1423 asset.open('rw').then((fd) => { 1424 console.info('File open fd: ' + fd); 1425 }).catch((error: BusinessError) => { 1426 console.error('File open failed with error: ' + error); 1427 }); 1428} 1429``` 1430 1431### close<sup>8+</sup> 1432 1433close(fd: number, callback: AsyncCallback<void>): void 1434 1435关闭当前文件,使用callback方式返回异步结果。 1436 1437> **说明:** 1438> 1439> 此接口从API version 9开始废弃。请使用[close](js-apis-photoAccessHelper.md#close)替代。 1440 1441**需要权限**:ohos.permission.READ_MEDIA or ohos.permission.WRITE_MEDIA 1442 1443**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1444 1445**参数:** 1446 1447| 参数名 | 类型 | 必填 | 说明 | 1448| -------- | ------------------------- | ---- | ----- | 1449| fd | number | 是 | 文件描述符。 | 1450| callback | AsyncCallback<void> | 是 | callback返回空。 | 1451 1452**示例:** 1453 1454```ts 1455import { BusinessError } from '@ohos.base'; 1456 1457async function example() { 1458 let fileKeyObj = mediaLibrary.FileKey; 1459 let imageType = mediaLibrary.MediaType.IMAGE; 1460 let getImageOp: mediaLibrary.MediaFetchOptions = { 1461 selections: fileKeyObj.MEDIA_TYPE + '= ?', 1462 selectionArgs: [imageType.toString()], 1463 order: fileKeyObj.DATE_ADDED + ' DESC', 1464 }; 1465 const fetchFileResult = await media.getFileAssets(getImageOp); 1466 const asset = await fetchFileResult.getFirstObject(); 1467 asset.open('rw').then((fd) => { 1468 console.info('File open fd: ' + fd); 1469 asset.close(fd, (error) => { 1470 if (error) { 1471 console.error('asset.close failed with error: ' + error); 1472 } else { 1473 console.info('asset.close successfully'); 1474 } 1475 }); 1476 }).catch((error: BusinessError) => { 1477 console.error('File open failed with error: ' + error); 1478 }); 1479 fetchFileResult.close(); 1480} 1481``` 1482 1483### close<sup>8+</sup> 1484 1485close(fd: number): Promise<void> 1486 1487关闭当前文件,使用promise方式返回异步结果。 1488 1489> **说明:** 1490> 1491> 此接口从API version 9开始废弃。请使用[close](js-apis-photoAccessHelper.md#close-1)替代。 1492 1493**需要权限**:ohos.permission.READ_MEDIA or ohos.permission.WRITE_MEDIA 1494 1495**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1496 1497**参数:** 1498 1499| 参数名 | 类型 | 必填 | 说明 | 1500| ---- | ------ | ---- | ----- | 1501| fd | number | 是 | 文件描述符。 | 1502 1503**返回值:** 1504 1505| 类型 | 说明 | 1506| ------------------- | ---------- | 1507| Promise<void> | Promise对象,返回空。 | 1508 1509**示例:** 1510 1511```ts 1512import { BusinessError } from '@ohos.base'; 1513 1514async function example() { 1515 let fileKeyObj = mediaLibrary.FileKey; 1516 let imageType = mediaLibrary.MediaType.IMAGE; 1517 let getImageOp: mediaLibrary.MediaFetchOptions = { 1518 selections: fileKeyObj.MEDIA_TYPE + '= ?', 1519 selectionArgs: [imageType.toString()], 1520 order: fileKeyObj.DATE_ADDED + ' DESC', 1521 }; 1522 const fetchFileResult = await media.getFileAssets(getImageOp); 1523 const asset = await fetchFileResult.getFirstObject(); 1524 asset.open('rw').then((fd) => { 1525 console.info('File fd!' + fd); 1526 asset.close(fd).then(() => { 1527 console.info('asset.close successfully'); 1528 }).catch((closeErr) => { 1529 console.error('asset.close fail, closeErr: ' + closeErr); 1530 }); 1531 }).catch((error: BusinessError) => { 1532 console.error('open File failed with error: ' + error); 1533 }); 1534 fetchFileResult.close(); 1535} 1536``` 1537 1538### getThumbnail<sup>8+</sup> 1539 1540getThumbnail(callback: AsyncCallback<image.PixelMap>): void 1541 1542获取文件的缩略图,使用callback方式返回异步结果。 1543 1544> **说明:** 1545> 1546> 此接口从API version 9开始废弃。请使用[close](js-apis-photoAccessHelper.md#getThumbnail)替代。 1547 1548**需要权限**:ohos.permission.READ_MEDIA 1549 1550**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1551 1552**参数:** 1553 1554| 参数名 | 类型 | 必填 | 说明 | 1555| -------- | ----------------------------------- | ---- | ---------------- | 1556| callback | AsyncCallback<image.PixelMap> | 是 | callback返回缩略图的PixelMap。 | 1557 1558**示例:** 1559 1560```ts 1561async function example() { 1562 let fileKeyObj = mediaLibrary.FileKey; 1563 let imageType = mediaLibrary.MediaType.IMAGE; 1564 let getImageOp: mediaLibrary.MediaFetchOptions = { 1565 selections: fileKeyObj.MEDIA_TYPE + '= ?', 1566 selectionArgs: [imageType.toString()], 1567 order: fileKeyObj.DATE_ADDED + ' DESC', 1568 }; 1569 const fetchFileResult = await media.getFileAssets(getImageOp); 1570 const asset = await fetchFileResult.getFirstObject(); 1571 asset.getThumbnail((error, pixelmap) => { 1572 if (error) { 1573 console.error('mediaLibrary getThumbnail failed with error: ' + error); 1574 } else { 1575 console.info('mediaLibrary getThumbnail Successful, pixelmap ' + JSON.stringify(pixelmap)); 1576 } 1577 }); 1578 fetchFileResult.close(); 1579} 1580``` 1581 1582### getThumbnail<sup>8+</sup> 1583 1584getThumbnail(size: Size, callback: AsyncCallback<image.PixelMap>): void 1585 1586获取文件的缩略图,传入缩略图尺寸,使用callback方式返回异步结果。 1587 1588> **说明:** 1589> 1590> 此接口从API version 9开始废弃。请使用[close](js-apis-photoAccessHelper.md#getThumbnail-1)替代。 1591 1592**需要权限**:ohos.permission.READ_MEDIA 1593 1594**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1595 1596**参数:** 1597 1598| 参数名 | 类型 | 必填 | 说明 | 1599| -------- | ----------------------------------- | ---- | ---------------- | 1600| size | [Size](#size8) | 是 | 缩略图尺寸。 | 1601| callback | AsyncCallback<image.PixelMap> | 是 | callback返回缩略图的PixelMap。 | 1602 1603**示例:** 1604 1605```ts 1606async function example() { 1607 let fileKeyObj = mediaLibrary.FileKey; 1608 let imageType = mediaLibrary.MediaType.IMAGE; 1609 let getImageOp: mediaLibrary.MediaFetchOptions = { 1610 selections: fileKeyObj.MEDIA_TYPE + '= ?', 1611 selectionArgs: [imageType.toString()], 1612 order: fileKeyObj.DATE_ADDED + ' DESC', 1613 }; 1614 let size: mediaLibrary.Size = { width: 720, height: 720 }; 1615 const fetchFileResult = await media.getFileAssets(getImageOp); 1616 const asset = await fetchFileResult.getFirstObject(); 1617 asset.getThumbnail(size, (error, pixelmap) => { 1618 if (error) { 1619 console.error('mediaLibrary getThumbnail failed with error: ' + error); 1620 } else { 1621 console.info('mediaLibrary getThumbnail Successful, pixelmap ' + JSON.stringify(pixelmap)); 1622 } 1623 }); 1624 fetchFileResult.close(); 1625} 1626``` 1627 1628### getThumbnail<sup>8+</sup> 1629 1630getThumbnail(size?: Size): Promise<image.PixelMap> 1631 1632获取文件的缩略图,传入缩略图尺寸,使用promise方式返回异步结果。 1633 1634> **说明:** 1635> 1636> 此接口从API version 9开始废弃。请使用[close](js-apis-photoAccessHelper.md#getThumbnail-2)替代。 1637 1638**需要权限**:ohos.permission.READ_MEDIA 1639 1640**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1641 1642**参数:** 1643 1644| 参数名 | 类型 | 必填 | 说明 | 1645| ---- | -------------- | ---- | ----- | 1646| size | [Size](#size8) | 否 | 缩略图尺寸。 | 1647 1648**返回值:** 1649 1650| 类型 | 说明 | 1651| ----------------------------- | --------------------- | 1652| Promise<image.PixelMap> | Promise对象,返回缩略图的PixelMap。 | 1653 1654**示例:** 1655 1656```ts 1657import { BusinessError } from '@ohos.base'; 1658 1659async function example() { 1660 let fileKeyObj = mediaLibrary.FileKey; 1661 let imageType = mediaLibrary.MediaType.IMAGE; 1662 let getImageOp: mediaLibrary.MediaFetchOptions = { 1663 selections: fileKeyObj.MEDIA_TYPE + '= ?', 1664 selectionArgs: [imageType.toString()], 1665 order: fileKeyObj.DATE_ADDED + ' DESC', 1666 }; 1667 let size: mediaLibrary.Size = { width: 720, height: 720 }; 1668 const fetchFileResult = await media.getFileAssets(getImageOp); 1669 const asset = await fetchFileResult.getFirstObject(); 1670 asset.getThumbnail(size).then((pixelmap) => { 1671 console.info('mediaLibrary getThumbnail Successful, pixelmap ' + JSON.stringify(pixelmap)); 1672 }).catch((error: BusinessError) => { 1673 console.error('mediaLibrary getThumbnail failed with error: ' + error); 1674 }); 1675 fetchFileResult.close(); 1676} 1677``` 1678 1679### favorite<sup>8+</sup> 1680 1681favorite(isFavorite: boolean, callback: AsyncCallback<void>): void 1682 1683将文件设置为收藏文件,使用callback方式返回异步结果。 1684 1685> **说明:** 1686> 1687> 此接口从API version 9开始废弃。请使用[setFavorite](js-apis-photoAccessHelper.md#setfavorite)替代。 1688 1689**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA 1690 1691**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1692 1693**参数:** 1694 1695| 参数名 | 类型 | 必填 | 说明 | 1696| ---------- | ------------------------- | ---- | ---------------------------------- | 1697| isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏。 | 1698| callback | AsyncCallback<void> | 是 | callback返回空。 | 1699 1700**示例:** 1701 1702```ts 1703async function example() { 1704 let fileKeyObj = mediaLibrary.FileKey; 1705 let imageType = mediaLibrary.MediaType.IMAGE; 1706 let getImageOp: mediaLibrary.MediaFetchOptions = { 1707 selections: fileKeyObj.MEDIA_TYPE + '= ?', 1708 selectionArgs: [imageType.toString()], 1709 order: fileKeyObj.DATE_ADDED + ' DESC', 1710 }; 1711 const fetchFileResult = await media.getFileAssets(getImageOp); 1712 const asset = await fetchFileResult.getFirstObject(); 1713 asset.favorite(true,(error) => { 1714 if (error) { 1715 console.error('mediaLibrary favorite failed with error: ' + error); 1716 } else { 1717 console.info('mediaLibrary favorite Successful'); 1718 } 1719 }); 1720 fetchFileResult.close(); 1721} 1722``` 1723 1724### favorite<sup>8+</sup> 1725 1726favorite(isFavorite: boolean): Promise<void> 1727 1728将文件设置为收藏文件,使用promise方式返回异步结果。 1729 1730> **说明:** 1731> 1732> 此接口从API version 9开始废弃。请使用[setFavorite](js-apis-photoAccessHelper.md#setfavorite-1)替代。 1733 1734**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA 1735 1736**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1737 1738**参数:** 1739 1740| 参数名 | 类型 | 必填 | 说明 | 1741| ---------- | ------- | ---- | ---------------------------------- | 1742| isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏。 | 1743 1744**返回值:** 1745 1746| 类型 | 说明 | 1747| ------------------- | ---------- | 1748| Promise<void> | Promise对象,返回空。 | 1749 1750**示例:** 1751 1752```ts 1753import { BusinessError } from '@ohos.base'; 1754 1755async function example() { 1756 let fileKeyObj = mediaLibrary.FileKey; 1757 let imageType = mediaLibrary.MediaType.IMAGE; 1758 let getImageOp: mediaLibrary.MediaFetchOptions = { 1759 selections: fileKeyObj.MEDIA_TYPE + '= ?', 1760 selectionArgs: [imageType.toString()], 1761 order: fileKeyObj.DATE_ADDED + ' DESC', 1762 }; 1763 const fetchFileResult = await media.getFileAssets(getImageOp); 1764 const asset = await fetchFileResult.getFirstObject(); 1765 asset.favorite(true).then(() => { 1766 console.info('mediaLibrary favorite Successful'); 1767 }).catch((error: BusinessError) => { 1768 console.error('mediaLibrary favorite failed with error: ' + error); 1769 }); 1770 fetchFileResult.close(); 1771} 1772``` 1773 1774### isFavorite<sup>8+</sup> 1775 1776isFavorite(callback: AsyncCallback<boolean>): void 1777 1778判断该文件是否为收藏文件,使用callback方式返回异步结果。 1779 1780> **说明:** 1781> 1782> 此接口从API version 9开始废弃。无替代接口。 1783 1784**需要权限**:ohos.permission.READ_MEDIA 1785 1786**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1787 1788**参数:** 1789 1790| 参数名 | 类型 | 必填 | 说明 | 1791| -------- | ---------------------------- | ---- | ----------- | 1792| callback | AsyncCallback<boolean> | 是 | callback返回boolean值,值为true则为已收藏,值为false则为未收藏。 | 1793 1794**示例:** 1795 1796```ts 1797async function example() { 1798 let fileKeyObj = mediaLibrary.FileKey; 1799 let imageType = mediaLibrary.MediaType.IMAGE; 1800 let getImageOp: mediaLibrary.MediaFetchOptions = { 1801 selections: fileKeyObj.MEDIA_TYPE + '= ?', 1802 selectionArgs: [imageType.toString()], 1803 order: fileKeyObj.DATE_ADDED + ' DESC', 1804 }; 1805 const fetchFileResult = await media.getFileAssets(getImageOp); 1806 const asset = await fetchFileResult.getFirstObject(); 1807 asset.isFavorite((error, isFavorite) => { 1808 if (error) { 1809 console.error('mediaLibrary favoriisFavoritete failed with error: ' + error); 1810 } else { 1811 console.info('mediaLibrary isFavorite Successful, isFavorite result: ' + isFavorite); 1812 } 1813 }); 1814 fetchFileResult.close(); 1815} 1816``` 1817 1818### isFavorite<sup>8+</sup> 1819 1820isFavorite():Promise<boolean> 1821 1822判断该文件是否为收藏文件,使用promise方式返回异步结果。 1823 1824> **说明:** 1825> 1826> 此接口从API version 9开始废弃。无替代接口。 1827 1828**需要权限**:ohos.permission.READ_MEDIA 1829 1830**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1831 1832**返回值:** 1833 1834| 类型 | 说明 | 1835| ---------------------- | ------------------ | 1836| Promise<boolean> | Promise对象,返回boolean值,值为true则为已收藏,值为false则为未收藏。 | 1837 1838**示例:** 1839 1840```ts 1841import { BusinessError } from '@ohos.base'; 1842 1843async function example() { 1844 let fileKeyObj = mediaLibrary.FileKey; 1845 let imageType = mediaLibrary.MediaType.IMAGE; 1846 let getImageOp: mediaLibrary.MediaFetchOptions = { 1847 selections: fileKeyObj.MEDIA_TYPE + '= ?', 1848 selectionArgs: [imageType.toString()], 1849 order: fileKeyObj.DATE_ADDED + ' DESC', 1850 }; 1851 const fetchFileResult = await media.getFileAssets(getImageOp); 1852 const asset = await fetchFileResult.getFirstObject(); 1853 asset.isFavorite().then((isFavorite) => { 1854 console.info('mediaLibrary isFavorite Successful, isFavorite result: ' + isFavorite); 1855 }).catch((error: BusinessError) => { 1856 console.error('mediaLibrary favoriisFavoritete failed with error: ' + error); 1857 }); 1858 fetchFileResult.close(); 1859} 1860``` 1861 1862### trash<sup>8+</sup> 1863 1864trash(isTrash: boolean, callback: AsyncCallback<void>): void 1865 1866当文件被定位时,将文件放到垃圾文件夹,使用callback方式返回异步结果。 1867 1868放入垃圾文件夹的文件不会被真正删除,可以通过isTrash = false参数恢复成正常文件。 1869 1870> **说明:** 1871> 1872> 此接口从API version 9开始废弃。请使用[deleteAssets](js-apis-photoAccessHelper.md#deleteAssets)替代。 1873 1874**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA 1875 1876**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1877 1878**参数:** 1879 1880| 参数名 | 类型 | 必填 | 说明 | 1881| -------- | ------------------------- | ---- | --------- | 1882| isTrash | boolean | 是 | 是否设置为垃圾文件。 | 1883| callback | AsyncCallback<void> | 是 | callback返回空。 | 1884 1885**示例:** 1886 1887```ts 1888async function example() { 1889 let fileKeyObj = mediaLibrary.FileKey; 1890 let imageType = mediaLibrary.MediaType.IMAGE; 1891 let getImageOp: mediaLibrary.MediaFetchOptions = { 1892 selections: fileKeyObj.MEDIA_TYPE + '= ?', 1893 selectionArgs: [imageType.toString()], 1894 order: fileKeyObj.DATE_ADDED + ' DESC', 1895 }; 1896 const fetchFileResult = await media.getFileAssets(getImageOp); 1897 const asset = await fetchFileResult.getFirstObject(); 1898 asset.trash(true, (error) => { 1899 if (error) { 1900 console.error('mediaLibrary trash failed with error: ' + error); 1901 } else { 1902 console.info('mediaLibrary trash Successful'); 1903 } 1904 }); 1905 fetchFileResult.close(); 1906} 1907``` 1908 1909### trash<sup>8+</sup> 1910 1911trash(isTrash: boolean): Promise<void> 1912 1913当文件被定位时,将文件放到垃圾文件夹,使用promise方式返回异步结果。 1914 1915放入垃圾文件夹的文件不会被真正删除,可以通过isTrash = false参数恢复成正常文件。 1916 1917> **说明:** 1918> 1919> 此接口从API version 9开始废弃。请使用[deleteAssets](js-apis-photoAccessHelper.md#deleteAssets-1)替代。 1920 1921**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA 1922 1923**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1924 1925**参数:** 1926 1927| 参数名 | 类型 | 必填 | 说明 | 1928| ------- | ------- | ---- | --------- | 1929| isTrash | boolean | 是 | 是否设置为垃圾文件。 | 1930 1931**返回值:** 1932 1933| 类型 | 说明 | 1934| ------------------- | ---------- | 1935| Promise<void> | Promise对象,返回空 | 1936 1937**示例:** 1938 1939```ts 1940import { BusinessError } from '@ohos.base'; 1941 1942async function example() { 1943 let fileKeyObj = mediaLibrary.FileKey; 1944 let imageType = mediaLibrary.MediaType.IMAGE; 1945 let getImageOp: mediaLibrary.MediaFetchOptions = { 1946 selections: fileKeyObj.MEDIA_TYPE + '= ?', 1947 selectionArgs: [imageType.toString()], 1948 order: fileKeyObj.DATE_ADDED + ' DESC', 1949 }; 1950 const fetchFileResult = await media.getFileAssets(getImageOp); 1951 const asset = await fetchFileResult.getFirstObject(); 1952 asset.trash(true).then(() => { 1953 console.info('trash successfully'); 1954 }).catch((error: BusinessError) => { 1955 console.error('trash failed with error: ' + error); 1956 }); 1957 fetchFileResult.close(); 1958} 1959``` 1960 1961### isTrash<sup>8+</sup> 1962 1963isTrash(callback: AsyncCallback<boolean>): void 1964 1965当文件被定位,判断文件是否为垃圾文件,使用callback方式返回异步结果。 1966 1967> **说明:** 1968> 1969> 此接口从API version 9开始废弃。无替代接口。 1970 1971**需要权限**:ohos.permission.READ_MEDIA 1972 1973**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 1974 1975**参数:** 1976 1977| 参数名 | 类型 | 必填 | 说明 | 1978| -------- | ---------------------------- | ---- | --------------- | 1979| callback | AsyncCallback<boolean> | 是 | callback返回boolean值,值为true则为垃圾文件,值为false则为非垃圾文件。 | 1980 1981**示例:** 1982 1983```ts 1984async function example() { 1985 let fileKeyObj = mediaLibrary.FileKey; 1986 let imageType = mediaLibrary.MediaType.IMAGE; 1987 let getImageOp: mediaLibrary.MediaFetchOptions = { 1988 selections: fileKeyObj.MEDIA_TYPE + '= ?', 1989 selectionArgs: [imageType.toString()], 1990 order: fileKeyObj.DATE_ADDED + ' DESC', 1991 }; 1992 const fetchFileResult = await media.getFileAssets(getImageOp); 1993 const asset = await fetchFileResult.getFirstObject(); 1994 asset.isTrash((error, isTrash) => { 1995 if (error) { 1996 console.error('Failed to get trash state failed with error: ' + error); 1997 return; 1998 } 1999 console.info('Get trash state successfully, isTrash result: ' + isTrash); 2000 }); 2001 fetchFileResult.close(); 2002} 2003``` 2004 2005### isTrash<sup>8+</sup> 2006 2007isTrash():Promise<boolean> 2008 2009当文件被定位,判断文件是否为垃圾文件,使用promise方式返回异步结果。 2010 2011> **说明:** 2012> 2013> 此接口从API version 9开始废弃。无替代接口。 2014 2015**需要权限**:ohos.permission.READ_MEDIA 2016 2017**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2018 2019**返回值:** 2020 2021| 类型 | 说明 | 2022| ------------------- | -------------------- | 2023| Promise<void> | Promise对象,返回boolean值,值为true则为垃圾文件,值为false则为非垃圾文件。 | 2024 2025**示例:** 2026 2027```ts 2028import { BusinessError } from '@ohos.base'; 2029 2030async function example() { 2031 let fileKeyObj = mediaLibrary.FileKey; 2032 let imageType = mediaLibrary.MediaType.IMAGE; 2033 let getImageOp: mediaLibrary.MediaFetchOptions = { 2034 selections: fileKeyObj.MEDIA_TYPE + '= ?', 2035 selectionArgs: [imageType.toString()], 2036 order: fileKeyObj.DATE_ADDED + ' DESC', 2037 }; 2038 const fetchFileResult = await media.getFileAssets(getImageOp); 2039 const asset = await fetchFileResult.getFirstObject(); 2040 asset.isTrash().then((isTrash) => { 2041 console.info('isTrash result: ' + isTrash); 2042 }).catch((error: BusinessError) => { 2043 console.error('isTrash failed with error: ' + error); 2044 }); 2045 fetchFileResult.close(); 2046} 2047``` 2048 2049## FetchFileResult<sup>7+</sup> 2050 2051文件检索结果集。 2052 2053> **说明:** 2054> 2055> 此接口从API version 9开始废弃。请使用[FetchResult](js-apis-photoAccessHelper.md#fetchresult)替代。 2056 2057### getCount<sup>7+</sup> 2058 2059getCount(): number 2060 2061获取文件检索结果中的文件总数。 2062 2063> **说明:** 2064> 2065> 此接口从API version 9开始废弃。请使用[getCount](js-apis-photoAccessHelper.md#getcount)替代。 2066 2067**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2068 2069**返回值:** 2070 2071| 类型 | 说明 | 2072| ------ | -------- | 2073| number | 检索到的文件总数。 | 2074 2075**示例:** 2076 2077```ts 2078async function example() { 2079 let fileKeyObj = mediaLibrary.FileKey; 2080 let fileType = mediaLibrary.MediaType.FILE; 2081 let getFileCountOneOp: mediaLibrary.MediaFetchOptions = { 2082 selections: fileKeyObj.MEDIA_TYPE + '= ?', 2083 selectionArgs: [fileType.toString()], 2084 order: fileKeyObj.DATE_ADDED + ' DESC', 2085 }; 2086 let fetchFileResult = await media.getFileAssets(getFileCountOneOp); 2087 const fetchCount = fetchFileResult.getCount(); 2088 console.info('fetchCount result: ' + fetchCount); 2089 fetchFileResult.close(); 2090} 2091``` 2092 2093### isAfterLast<sup>7+</sup> 2094 2095isAfterLast(): boolean 2096 2097检查结果集是否指向最后一行。 2098 2099> **说明:** 2100> 2101> 此接口从API version 9开始废弃。请使用[isAfterLast](js-apis-photoAccessHelper.md#isafterlast)替代。 2102 2103**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2104 2105**返回值:** 2106 2107| 类型 | 说明 | 2108| ------- | ---------------------------------- | 2109| boolean | 当读到最后一条记录后,后续没有记录返回true,否则返回false。 | 2110 2111**示例:** 2112 2113```ts 2114async function example() { 2115 let fileKeyObj = mediaLibrary.FileKey; 2116 let imageType = mediaLibrary.MediaType.IMAGE; 2117 let getImageOp: mediaLibrary.MediaFetchOptions = { 2118 selections: fileKeyObj.MEDIA_TYPE + '= ?', 2119 selectionArgs: [imageType.toString()], 2120 order: fileKeyObj.DATE_ADDED + ' DESC', 2121 }; 2122 let fetchFileResult = await media.getFileAssets(getImageOp); 2123 const fetchCount = fetchFileResult.getCount(); 2124 console.info('mediaLibrary fetchFileResult.getCount, count:' + fetchCount); 2125 let fileAsset = await fetchFileResult.getFirstObject(); 2126 for (let i = 1; i < fetchCount; i++) { 2127 fileAsset = await fetchFileResult.getNextObject(); 2128 if(i == fetchCount - 1) { 2129 let result = fetchFileResult.isAfterLast(); 2130 console.info('mediaLibrary fileAsset isAfterLast result: ' + result); 2131 fetchFileResult.close(); 2132 } 2133 } 2134} 2135``` 2136 2137### close<sup>7+</sup> 2138 2139close(): void 2140 2141释放 FetchFileResult 实例并使其失效。无法调用其他方法。 2142 2143> **说明:** 2144> 2145> 此接口从API version 9开始废弃。请使用[close](js-apis-photoAccessHelper.md#close)替代。 2146 2147**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2148 2149**示例:** 2150 2151```ts 2152async function example() { 2153 let fileKeyObj = mediaLibrary.FileKey; 2154 let imageType = mediaLibrary.MediaType.IMAGE; 2155 let getImageOp: mediaLibrary.MediaFetchOptions = { 2156 selections: fileKeyObj.MEDIA_TYPE + '= ?', 2157 selectionArgs: [imageType.toString()], 2158 order: fileKeyObj.DATE_ADDED + ' DESC', 2159 }; 2160 let fetchFileResult = await media.getFileAssets(getImageOp); 2161 fetchFileResult.close(); 2162} 2163``` 2164 2165### getFirstObject<sup>7+</sup> 2166 2167getFirstObject(callback: AsyncCallback<FileAsset>): void 2168 2169获取文件检索结果中的第一个文件资产。此方法使用回调返回FileAsset。 2170 2171> **说明:** 2172> 2173> 此接口从API version 9开始废弃。请使用[getFirstObject](js-apis-photoAccessHelper.md#getfirstobject)替代。 2174 2175**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2176 2177**参数:** 2178 2179| 参数名 | 类型 | 必填 | 说明 | 2180| -------- | --------------------------------------------- | ---- | ------------------------------------------- | 2181| callback | AsyncCallback<[FileAsset](#fileasset7)> | 是 | callback返回文件检索结果集中第一个FileAsset对象。 | 2182 2183**示例:** 2184 2185```ts 2186async function example() { 2187 let fileKeyObj = mediaLibrary.FileKey; 2188 let imageType = mediaLibrary.MediaType.IMAGE; 2189 let getImageOp: mediaLibrary.MediaFetchOptions = { 2190 selections: fileKeyObj.MEDIA_TYPE + '= ?', 2191 selectionArgs: [imageType.toString()], 2192 order: fileKeyObj.DATE_ADDED + ' DESC', 2193 }; 2194 let fetchFileResult = await media.getFileAssets(getImageOp); 2195 fetchFileResult.getFirstObject((error, fileAsset) => { 2196 if (error) { 2197 console.error('fetchFileResult getFirstObject failed with error: ' + error); 2198 return; 2199 } 2200 console.info('getFirstObject successfully, displayName : ' + fileAsset.displayName); 2201 fetchFileResult.close(); 2202 }) 2203} 2204``` 2205 2206### getFirstObject<sup>7+</sup> 2207 2208getFirstObject(): Promise<FileAsset> 2209 2210获取文件检索结果中的第一个文件资产。此方法使用Promise方式返回FileAsset。 2211 2212> **说明:** 2213> 2214> 此接口从API version 9开始废弃。请使用[getFirstObject](js-apis-photoAccessHelper.md#getfirstobject-1)替代。 2215 2216**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2217 2218**返回值:** 2219 2220| 类型 | 说明 | 2221| --------------------------------------- | -------------------------- | 2222| Promise<[FileAsset](#fileasset7)> | Promise对象,返回文件检索结果集中第一个FileAsset。 | 2223 2224**示例:** 2225 2226```ts 2227import { BusinessError } from '@ohos.base'; 2228 2229async function example() { 2230 let fileKeyObj = mediaLibrary.FileKey; 2231 let imageType = mediaLibrary.MediaType.IMAGE; 2232 let getImageOp: mediaLibrary.MediaFetchOptions = { 2233 selections: fileKeyObj.MEDIA_TYPE + '= ?', 2234 selectionArgs: [imageType.toString()], 2235 order: fileKeyObj.DATE_ADDED + ' DESC', 2236 }; 2237 let fetchFileResult = await media.getFileAssets(getImageOp); 2238 fetchFileResult.getFirstObject().then((fileAsset) => { 2239 console.info('getFirstObject successfully, displayName: ' + fileAsset.displayName); 2240 fetchFileResult.close(); 2241 }).catch((error: BusinessError) => { 2242 console.error('getFirstObject failed with error: ' + error); 2243 }); 2244} 2245``` 2246 2247### getNextObject<sup>7+</sup> 2248 2249getNextObject(callback: AsyncCallback<FileAsset>): void 2250 2251获取文件检索结果中的下一个文件资产,此方法使用callback形式返回结果。 2252 2253> **说明:** 2254> 2255> - 在使用前需要先使用[getFirstObject](#getfirstobject7)接口获取第一个文件资产,然后使用[isAfterLast](#isafterlast7)确认文件检索集当前不是指向最后一个时方可使用此接口。 2256> - 此接口从API version 9开始废弃。请使用[getNextObject](js-apis-photoAccessHelper.md#getnextobject)替代。 2257 2258**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2259 2260**参数:** 2261 2262| 参数名 | 类型 | 必填 | 说明 | 2263| --------- | --------------------------------------------- | ---- | ----------------------------------------- | 2264| callbacke | AsyncCallback<[FileAsset](#fileasset7)> | 是 | callback返回文件检索结果集中下一个FileAsset对象。 | 2265 2266**示例:** 2267 2268```ts 2269async function example() { 2270 let fileKeyObj = mediaLibrary.FileKey; 2271 let imageType = mediaLibrary.MediaType.IMAGE; 2272 let getImageOp: mediaLibrary.MediaFetchOptions = { 2273 selections: fileKeyObj.MEDIA_TYPE + '= ?', 2274 selectionArgs: [imageType.toString()], 2275 order: fileKeyObj.DATE_ADDED + ' DESC', 2276 }; 2277 let fetchFileResult = await media.getFileAssets(getImageOp); 2278 let fileAsset = await fetchFileResult.getFirstObject(); 2279 console.log('fetchFileResult getFirstObject successfully, displayName: ' + fileAsset.displayName); 2280 if (!fetchFileResult.isAfterLast()) { 2281 fetchFileResult.getNextObject((error, fileAsset) => { 2282 if (error) { 2283 console.error('fetchFileResult getNextObject failed with error: ' + error); 2284 return; 2285 } 2286 console.log('fetchFileResult getNextObject successfully, displayName: ' + fileAsset.displayName); 2287 fetchFileResult.close(); 2288 }) 2289 } 2290} 2291 2292``` 2293 2294### getNextObject<sup>7+</sup> 2295 2296getNextObject(): Promise<FileAsset> 2297 2298获取文件检索结果中的下一个文件资产。此方法使用promise方式来异步返回FileAsset。 2299 2300> **说明:** 2301> 2302> - 在使用前需要先使用[getFirstObject](#getfirstobject7)接口获取第一个文件资产,然后使用[isAfterLast](#isafterlast7)确认文件检索集当前不是指向最后一个时方可使用此接口。 2303> - 此接口从API version 9开始废弃。请使用[getNextObject](js-apis-photoAccessHelper.md#getnextobject-1)替代。 2304 2305**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2306 2307**返回值:** 2308 2309| 类型 | 说明 | 2310| --------------------------------------- | ----------------- | 2311| Promise<[FileAsset](#fileasset7)> | Promise对象,返回文件检索结果集中下一个FileAsset。 | 2312 2313**示例:** 2314 2315```ts 2316import { BusinessError } from '@ohos.base'; 2317 2318async function example() { 2319 let fileKeyObj = mediaLibrary.FileKey; 2320 let imageType = mediaLibrary.MediaType.IMAGE; 2321 let getImageOp: mediaLibrary.MediaFetchOptions = { 2322 selections: fileKeyObj.MEDIA_TYPE + '= ?', 2323 selectionArgs: [imageType.toString()], 2324 order: fileKeyObj.DATE_ADDED + ' DESC', 2325 }; 2326 let fetchFileResult = await media.getFileAssets(getImageOp); 2327 let fileAsset = await fetchFileResult.getFirstObject(); 2328 console.log('fetchFileResult getFirstObject successfully, displayName: ' + fileAsset.displayName); 2329 if (!fetchFileResult.isAfterLast()) { 2330 fetchFileResult.getNextObject().then((fileAsset) => { 2331 console.info('fetchFileResult getNextObject successfully, displayName: ' + fileAsset.displayName); 2332 fetchFileResult.close(); 2333 }).catch((error: BusinessError) => { 2334 console.error('fetchFileResult getNextObject failed with error: ' + error); 2335 }) 2336 } 2337} 2338``` 2339 2340### getLastObject<sup>7+</sup> 2341 2342getLastObject(callback: AsyncCallback<FileAsset>): void 2343 2344获取文件检索结果中的最后一个文件资产。此方法使用callback回调来返回FileAsset。 2345 2346> **说明:** 2347> 2348> 此接口从API version 9开始废弃。请使用[getLastObject](js-apis-photoAccessHelper.md#getlastobject)替代。 2349 2350**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2351 2352**参数:** 2353 2354| 参数名 | 类型 | 必填 | 说明 | 2355| -------- | --------------------------------------------- | ---- | --------------------------- | 2356| callback | AsyncCallback<[FileAsset](#fileasset7)> | 是 | callback返回文件检索结果集中最后一个FileAsset对象。 | 2357 2358**示例:** 2359 2360```ts 2361async function example() { 2362 let fileKeyObj = mediaLibrary.FileKey; 2363 let imageType = mediaLibrary.MediaType.IMAGE; 2364 let getImageOp: mediaLibrary.MediaFetchOptions = { 2365 selections: fileKeyObj.MEDIA_TYPE + '= ?', 2366 selectionArgs: [imageType.toString()], 2367 order: fileKeyObj.DATE_ADDED + ' DESC', 2368 }; 2369 let fetchFileResult = await media.getFileAssets(getImageOp); 2370 fetchFileResult.getLastObject((error, fileAsset) => { 2371 if (error) { 2372 console.error('getLastObject failed with error: ' + error); 2373 return; 2374 } 2375 console.info('getLastObject successfully, displayName: ' + fileAsset.displayName); 2376 fetchFileResult.close(); 2377 }) 2378} 2379``` 2380 2381### getLastObject<sup>7+</sup> 2382 2383getLastObject(): Promise<FileAsset> 2384 2385获取文件检索结果中的最后一个文件资产。此方法使用Promise方式来返回FileAsset。 2386 2387> **说明:** 2388> 2389> 此接口从API version 9开始废弃。请使用[getLastObject](js-apis-photoAccessHelper.md#getlastobject-1)替代。 2390 2391**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2392 2393**返回值:** 2394 2395| 类型 | 说明 | 2396| --------------------------------------- | ----------------- | 2397| Promise<[FileAsset](#fileasset7)> | Promise对象,返回文件检索结果集中最后一个FileAsset。 | 2398 2399**示例:** 2400 2401```ts 2402import { BusinessError } from '@ohos.base'; 2403 2404async function example() { 2405 let fileKeyObj = mediaLibrary.FileKey; 2406 let imageType = mediaLibrary.MediaType.IMAGE; 2407 let getImageOp: mediaLibrary.MediaFetchOptions = { 2408 selections: fileKeyObj.MEDIA_TYPE + '= ?', 2409 selectionArgs: [imageType.toString()], 2410 order: fileKeyObj.DATE_ADDED + ' DESC', 2411 }; 2412 let fetchFileResult = await media.getFileAssets(getImageOp); 2413 fetchFileResult.getLastObject().then((fileAsset) => { 2414 console.info('getLastObject successfully, displayName: ' + fileAsset.displayName); 2415 fetchFileResult.close(); 2416 }).catch((error: BusinessError) => { 2417 console.error('getLastObject failed with error: ' + error); 2418 }); 2419} 2420``` 2421 2422### getPositionObject<sup>7+</sup> 2423 2424getPositionObject(index: number, callback: AsyncCallback<FileAsset>): void 2425 2426获取文件检索结果中具有指定索引的文件资产。此方法使用回调来返回FileAsset。 2427 2428> **说明:** 2429> 2430> 此接口从API version 9开始废弃。请使用[getObjectByPosition](js-apis-photoAccessHelper.md#getobjectbyposition)替代。 2431 2432**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2433 2434**参数:** 2435 2436| 参数名 | 类型 | 必填 | 说明 | 2437| -------- | ---------------------------------------- | ---- | ------------------ | 2438| index | number | 是 | 要获取的文件的索引,从0开始(注意该值要小于文件检索集的count值)。 | 2439| callback | AsyncCallback<[FileAsset](#fileasset7)> | 是 | callback返回文件检索结果集中指定索引处的FileAsset对象。 | 2440 2441**示例:** 2442 2443```ts 2444async function example() { 2445 let fileKeyObj = mediaLibrary.FileKey; 2446 let imageType = mediaLibrary.MediaType.IMAGE; 2447 let getImageOp: mediaLibrary.MediaFetchOptions = { 2448 selections: fileKeyObj.MEDIA_TYPE + '= ?', 2449 selectionArgs: [imageType.toString()], 2450 order: fileKeyObj.DATE_ADDED + ' DESC', 2451 }; 2452 let fetchFileResult = await media.getFileAssets(getImageOp); 2453 fetchFileResult.getPositionObject(0, (error, fileAsset) => { 2454 if (error) { 2455 console.error('getPositionObject failed with error: ' + error); 2456 return; 2457 } 2458 console.info('getPositionObject successfully, displayName: ' + fileAsset.displayName); 2459 fetchFileResult.close(); 2460 }) 2461} 2462``` 2463 2464### getPositionObject<sup>7+</sup> 2465 2466getPositionObject(index: number): Promise<FileAsset> 2467 2468获取文件检索结果中具有指定索引的文件资产。此方法使用Promise形式返回文件Asset。 2469 2470> **说明:** 2471> 2472> 此接口从API version 9开始废弃。请使用[getObjectByPosition](js-apis-photoAccessHelper.md#getobjectbyposition-1)替代。 2473 2474**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2475 2476**参数:** 2477 2478| 参数名 | 类型 | 必填 | 说明 | 2479| ----- | ------ | ---- | -------------- | 2480| index | number | 是 | 要获取的文件的索引,从0开始(注意该值要小于文件检索集的count值)。 | 2481 2482**返回值:** 2483 2484| 类型 | 说明 | 2485| --------------------------------------- | ----------------- | 2486| Promise<[FileAsset](#fileasset7)> | Promise对象,返回文件检索结果集中指定索引处的FileAsset。 | 2487 2488**示例:** 2489 2490```ts 2491import { BusinessError } from '@ohos.base'; 2492 2493async function example() { 2494 let fileKeyObj = mediaLibrary.FileKey; 2495 let imageType = mediaLibrary.MediaType.IMAGE; 2496 let getImageOp: mediaLibrary.MediaFetchOptions = { 2497 selections: fileKeyObj.MEDIA_TYPE + '= ?', 2498 selectionArgs: [imageType.toString()], 2499 order: fileKeyObj.DATE_ADDED + ' DESC', 2500 }; 2501 let fetchFileResult = await media.getFileAssets(getImageOp); 2502 fetchFileResult.getPositionObject(0).then((fileAsset) => { 2503 console.info('getPositionObject successfully, displayName: ' + fileAsset.displayName); 2504 fetchFileResult.close(); 2505 }).catch((error: BusinessError) => { 2506 console.error('getPositionObject failed with error: ' + error); 2507 }); 2508} 2509``` 2510 2511### getAllObject<sup>7+</sup> 2512 2513getAllObject(callback: AsyncCallback<Array<FileAsset>>): void 2514 2515获取文件检索结果中的所有文件资产。此方法使用Callback回调来返回FileAsset结果集。 2516 2517> **说明:** 2518> 2519> 此接口从API version 9开始废弃。请使用[getAllObjects](js-apis-photoAccessHelper.md#getallobjects)替代。 2520 2521**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2522 2523**参数:** 2524 2525| 参数名 | 类型 | 必填 | 说明 | 2526| -------- | ---------------------------------------- | ---- | -------------------- | 2527| callback | AsyncCallback<Array<[FileAsset](#fileasset7)>> | 是 | callback返回文件检索结果集中所有的FileAsset对象。 | 2528 2529**示例:** 2530 2531```ts 2532async function example() { 2533 let fileKeyObj = mediaLibrary.FileKey; 2534 let imageType = mediaLibrary.MediaType.IMAGE; 2535 let getImageOp: mediaLibrary.MediaFetchOptions = { 2536 selections: fileKeyObj.MEDIA_TYPE + '= ?', 2537 selectionArgs: [imageType.toString()], 2538 order: fileKeyObj.DATE_ADDED + ' DESC', 2539 }; 2540 let fetchFileResult = await media.getFileAssets(getImageOp); 2541 fetchFileResult.getAllObject((error, fileAssetList) => { 2542 if (error) { 2543 console.error('getAllObject failed with error: ' + error); 2544 return; 2545 } 2546 for (let i = 0; i < fetchFileResult.getCount(); i++) { 2547 console.info('getAllObject fileAssetList ' + i + ' displayName: ' + fileAssetList[i].displayName); 2548 } 2549 fetchFileResult.close(); 2550 }) 2551} 2552``` 2553 2554### getAllObject<sup>7+</sup> 2555 2556getAllObject(): Promise<Array<FileAsset>> 2557 2558获取文件检索结果中的所有文件资产。此方法使用Promise来返回FileAsset结果集。 2559 2560> **说明:** 2561> 2562> 此接口从API version 9开始废弃。请使用[getAllObjects](js-apis-photoAccessHelper.md#getallobjects-1)替代。 2563 2564**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2565 2566**返回值:** 2567 2568| 类型 | 说明 | 2569| ---------------------------------------- | --------------------- | 2570| Promise<Array<[FileAsset](#fileasset7)>> | Promise对象,返回文件检索结果集中所有的FileAsset。 | 2571 2572**示例:** 2573 2574```ts 2575import { BusinessError } from '@ohos.base'; 2576 2577async function example() { 2578 let fileKeyObj = mediaLibrary.FileKey; 2579 let imageType = mediaLibrary.MediaType.IMAGE; 2580 let getImageOp: mediaLibrary.MediaFetchOptions = { 2581 selections: fileKeyObj.MEDIA_TYPE + '= ?', 2582 selectionArgs: [imageType.toString()], 2583 order: fileKeyObj.DATE_ADDED + ' DESC', 2584 }; 2585 let fetchFileResult = await media.getFileAssets(getImageOp); 2586 fetchFileResult.getAllObject().then((fileAssetList) => { 2587 for (let i = 0; i < fetchFileResult.getCount(); i++) { 2588 console.info('getAllObject fileAssetList ' + i + ' displayName: ' + fileAssetList[i].displayName); 2589 } 2590 fetchFileResult.close(); 2591 }).catch((error: BusinessError) => { 2592 console.error('getAllObject failed with error: ' + error); 2593 }); 2594} 2595``` 2596 2597## Album<sup>7+</sup> 2598 2599实体相册 2600 2601> **说明:** 2602> 2603> 此接口从API version 9开始废弃。请使用[Album](js-apis-photoAccessHelper.md#album)替代。 2604 2605### 属性 2606 2607**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.MediaLibrary.Core 2608 2609| 名称 | 类型 | 可读 | 可写 | 说明 | 2610| ------------ | ------ | ---- | ---- | ------- | 2611| albumId | number | 是 | 否 | 相册编号。 | 2612| albumName | string | 是 | 是 | 相册名称。 | 2613| albumUri<sup>8+</sup> | string | 是 | 否 | 相册Uri。 | 2614| dateModified | number | 是 | 否 | 修改日期。 | 2615| count<sup>8+</sup> | number | 是 | 否 | 相册中文件数量。 | 2616| relativePath<sup>8+</sup> | string | 是 | 否 | 相对路径。 | 2617| coverUri<sup>8+</sup> | string | 是 | 否 | 封面文件Uri。 | 2618 2619### commitModify<sup>8+</sup> 2620 2621commitModify(callback: AsyncCallback<void>): void 2622 2623更新相册属性修改到数据库中。 2624 2625> **说明:** 2626> 2627> 此接口从API version 9开始废弃。请使用[commitModify](js-apis-photoAccessHelper.md#commitmodify-2)替代。 2628 2629**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA 2630 2631**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2632 2633**参数:** 2634 2635| 参数名 | 类型 | 必填 | 说明 | 2636| -------- | ------------------------- | ---- | ---------- | 2637| callback | AsyncCallback<void> | 是 | callback返回空。 | 2638 2639**示例:** 2640 2641```ts 2642async function example() { 2643 // 获取相册需要先预置相册和资源,示例代码为预置的新建相册1。 2644 let albumFetchOp: mediaLibrary.MediaFetchOptions = { 2645 selections: mediaLibrary.FileKey.ALBUM_NAME + '= ?', 2646 selectionArgs: ['新建相册1'], 2647 }; 2648 const albumList = await media.getAlbums(albumFetchOp); 2649 const album = albumList[0]; 2650 album.albumName = 'hello'; 2651 album.commitModify((error) => { 2652 if (error) { 2653 console.error('commitModify failed with error: ' + error); 2654 return; 2655 } 2656 console.info('commitModify successful.'); 2657 }); 2658} 2659``` 2660 2661### commitModify<sup>8+</sup> 2662 2663commitModify(): Promise<void> 2664 2665更新相册属性修改到数据库中。 2666 2667> **说明:** 2668> 2669> 此接口从API version 9开始废弃。请使用[commitModify](js-apis-photoAccessHelper.md#commitmodify-3)替代。 2670 2671**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA 2672 2673**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2674 2675**返回值:** 2676 2677| 类型 | 说明 | 2678| ------------------- | ------------ | 2679| Promise<void> | Promise对象,返回空。 | 2680 2681**示例:** 2682 2683```ts 2684import { BusinessError } from '@ohos.base'; 2685 2686async function example() { 2687 // 获取相册需要先预置相册和资源,示例代码为预置的新建相册1。 2688 let albumFetchOp: mediaLibrary.MediaFetchOptions = { 2689 selections: mediaLibrary.FileKey.ALBUM_NAME + '= ?', 2690 selectionArgs: ['新建相册1'], 2691 }; 2692 const albumList = await media.getAlbums(albumFetchOp); 2693 const album = albumList[0]; 2694 album.albumName = 'hello'; 2695 album.commitModify().then(() => { 2696 console.info('commitModify successfully'); 2697 }).catch((error: BusinessError) => { 2698 console.error('commitModify failed with error: ' + error); 2699 }); 2700} 2701``` 2702 2703### getFileAssets<sup>7+</sup> 2704 2705getFileAssets(callback: AsyncCallback<FetchFileResult>): void 2706 2707按照检索条件获取相册中的文件。此方法使用Callback回调来返回文件结果集。 2708 2709> **说明:** 2710> 2711> 此接口从API version 9开始废弃。请使用[getAssets](js-apis-photoAccessHelper.md#getassets)替代。 2712 2713**需要权限**:ohos.permission.READ_MEDIA 2714 2715**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2716 2717**参数:** 2718 2719| 参数名 | 类型 | 必填 | 说明 | 2720| -------- | --------------------------------------------------- | ---- | ----------------------------------- | 2721| callback | AsyncCallback<[FetchFileResult](#fetchfileresult7)> | 是 | callback返回相册中的文件检索结果集。 | 2722 2723**示例:** 2724 2725```ts 2726async function example() { 2727 // 获取相册需要先预置相册和资源,示例代码为预置的新建相册1。 2728 let albumFetchOp: mediaLibrary.MediaFetchOptions = { 2729 selections: mediaLibrary.FileKey.ALBUM_NAME + '= ?', 2730 selectionArgs: ['新建相册1'], 2731 }; 2732 // 获取符合检索要求的相册,返回相册列表。 2733 const albumList = await media.getAlbums(albumFetchOp); 2734 const album = albumList[0]; 2735 // 取到相册列表中的一个相册,获取此相册中所有符合媒体检索选项的媒体资源。 2736 album.getFileAssets((error, fetchFileResult) => { 2737 if (error) { 2738 console.error('album getFileAssets failed with error: ' + error); 2739 return; 2740 } 2741 let count = fetchFileResult.getCount(); 2742 console.info('album getFileAssets successfully, count: ' + count); 2743 fetchFileResult.close(); 2744 }); 2745} 2746``` 2747 2748### getFileAssets<sup>7+</sup> 2749 2750getFileAssets(options: MediaFetchOptions, callback: AsyncCallback<FetchFileResult>): void 2751 2752按照检索条件获取相册中的文件。此方法使用Callback回调来返回文件结果集。 2753 2754> **说明:** 2755> 2756> 此接口从API version 9开始废弃。请使用[getAssets](js-apis-photoAccessHelper.md#getassets)替代。 2757 2758**需要权限**:ohos.permission.READ_MEDIA 2759 2760**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2761 2762**参数:** 2763 2764| 参数名 | 类型 | 必填 | 说明 | 2765| -------- | --------------------------------------------------- | ---- | ----------------------------------- | 2766| options | [MediaFetchOptions](#mediafetchoptions7) | 是 | 媒体检索选项。 | 2767| callback | AsyncCallback<[FetchFileResult](#fetchfileresult7)> | 是 | callback返回相册中的文件检索结果集。 | 2768 2769**示例:** 2770 2771```ts 2772async function example() { 2773 // 获取相册需要先预置相册和资源,示例代码为预置的新建相册1。 2774 let albumFetchOp: mediaLibrary.MediaFetchOptions = { 2775 selections: mediaLibrary.FileKey.ALBUM_NAME + '= ?', 2776 selectionArgs: ['新建相册1'], 2777 }; 2778 let fileNoArgsfetchOp: mediaLibrary.MediaFetchOptions = { 2779 selections: '', 2780 selectionArgs: [], 2781 }; 2782 // 获取符合检索要求的相册,返回相册列表。 2783 const albumList = await media.getAlbums(albumFetchOp); 2784 const album = albumList[0]; 2785 // 取到相册列表中的一个相册,获取此相册中所有符合媒体检索选项的媒体资源。 2786 album.getFileAssets(fileNoArgsfetchOp, (error, fetchFileResult) => { 2787 if (error) { 2788 console.error('album getFileAssets failed with error: ' + error); 2789 return; 2790 } 2791 let count = fetchFileResult.getCount(); 2792 console.info('album getFileAssets successfully, count: ' + count); 2793 fetchFileResult.close(); 2794 }); 2795} 2796``` 2797 2798### getFileAssets<sup>7+</sup> 2799 2800 getFileAssets(options?: MediaFetchOptions): Promise<FetchFileResult> 2801 2802按照检索条件获取相册中的文件。此方法使用异步Promise来返回文件结果集。 2803 2804> **说明:** 2805> 2806> 此接口从API version 9开始废弃。请使用[getAssets](js-apis-photoAccessHelper.md#getassets-1)替代。 2807 2808**需要权限**:ohos.permission.READ_MEDIA 2809 2810**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 2811 2812**参数:** 2813 2814| 参数名 | 类型 | 必填 | 说明 | 2815| ------- | ---------------------------------------- | ---- | -------------- | 2816| options | [MediaFetchOptions](#mediafetchoptions7) | 否 | 媒体检索选项。 | 2817 2818**返回值:** 2819 2820| 类型 | 说明 | 2821| --------------------------------------------- | ------------------------- | 2822| Promise<[FetchFileResult](#fetchfileresult7)> | Promise对象,返回相册中的文件检索结果集。 | 2823 2824**示例:** 2825 2826```ts 2827import { BusinessError } from '@ohos.base'; 2828 2829async function example() { 2830 // 获取相册需要先预置相册和资源,示例代码为预置的新建相册1。 2831 let albumFetchOp: mediaLibrary.MediaFetchOptions = { 2832 selections: mediaLibrary.FileKey.ALBUM_NAME + '= ?', 2833 selectionArgs: ['新建相册1'], 2834 }; 2835 let fileNoArgsfetchOp: mediaLibrary.MediaFetchOptions = { 2836 selections: '', 2837 selectionArgs: [], 2838 }; 2839 // 获取符合检索要求的相册,返回相册列表。 2840 const albumList = await media.getAlbums(albumFetchOp); 2841 const album = albumList[0]; 2842 // 取到相册列表中的一个相册,获取此相册中所有符合媒体检索选项的媒体资源。 2843 album.getFileAssets(fileNoArgsfetchOp).then((fetchFileResult) => { 2844 let count = fetchFileResult.getCount(); 2845 console.info('album getFileAssets successfully, count: ' + count); 2846 fetchFileResult.close(); 2847 }).catch((error: BusinessError) => { 2848 console.error('album getFileAssets failed with error: ' + error); 2849 }); 2850} 2851``` 2852 2853## PeerInfo<sup>8+</sup> 2854 2855注册设备的信息。 2856 2857> **说明:** 2858> 2859> 此接口从API version 9开始废弃。无替代接口。 2860 2861**系统接口**:此接口为系统接口。 2862 2863**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.MediaLibrary.DistributedCore 2864 2865| 名称 | 类型 | 可读 | 可写 | 说明 | 2866| ---------- | -------------------------- | ---- | ---- | ---------------- | 2867| deviceName | string | 是 | 否 | 注册设备的名称。 | 2868| networkId | string | 是 | 否 | 注册设备的网络ID。 | 2869| deviceType | [DeviceType](#devicetype8) | 是 | 否 | 设备类型。 | 2870| isOnline | boolean | 是 | 否 | 是否在线。 | 2871 2872## MediaType<sup>8+</sup> 2873 2874枚举,媒体类型。 2875 2876> **说明:** 2877> 2878> 此接口从API version 9开始废弃。请使用[PhotoType](js-apis-photoAccessHelper.md#phototype)替代。 2879 2880**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.MediaLibrary.Core 2881 2882| 名称 | 值 | 说明 | 2883| ----- | ---- | ---- | 2884| FILE | 0 | 文件。 | 2885| IMAGE | 1 | 图片。 | 2886| VIDEO | 2 | 视频。| 2887| AUDIO | 3 | 音频。 | 2888 2889## FileKey<sup>8+</sup> 2890 2891枚举,文件关键信息。 2892 2893> **说明:** 2894> 2895> - bucket_id字段在文件重命名或移动后可能会发生变化,开发者使用前需要重新获取。 2896> - 此接口从API version 9开始废弃。请使用[PhotoKeys](js-apis-photoAccessHelper.md#photokeys)替代。 2897 2898**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.MediaLibrary.Core 2899 2900| 名称 | 值 | 说明 | 2901| ------------- | ------------------- | ---------------------------------------------------------- | 2902| ID | 'file_id' | 文件编号。 | 2903| RELATIVE_PATH | 'relative_path' | 相对公共目录路径。 | 2904| DISPLAY_NAME | 'display_name' | 显示名字。 | 2905| PARENT | 'parent' | 父目录id。 | 2906| MIME_TYPE | 'mime_type' | 文件扩展属性(如:image/*、video/*、file/*)。 | 2907| MEDIA_TYPE | 'media_type' | 媒体类型。 | 2908| SIZE | 'size' | 文件大小(单位:字节)。 | 2909| DATE_ADDED | 'date_added' | 添加日期(添加文件时间到1970年1月1日的秒数值)。 | 2910| DATE_MODIFIED | 'date_modified' | 修改日期(修改文件时间到1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新)。 | 2911| DATE_TAKEN | 'date_taken' | 拍摄日期(文件拍照时间到1970年1月1日的秒数值)。 | 2912| TITLE | 'title' | 文件标题。 | 2913| ARTIST | 'artist' | 作者。 | 2914| AUDIOALBUM | 'audio_album' | 专辑。 | 2915| DURATION | 'duration' | 持续时间(单位:毫秒)。 | 2916| WIDTH | 'width' | 图片宽度(单位:像素)。 | 2917| HEIGHT | 'height' | 图片高度(单位:像素)。 | 2918| ORIENTATION | 'orientation' | 图片显示方向,即顺时针旋转角度,如0,90,180。(单位:度)。 | 2919| ALBUM_ID | 'bucket_id' | 文件所归属的相册编号。 | 2920| ALBUM_NAME | 'bucket_display_name' | 文件所归属相册名称。 | 2921 2922## DirectoryType<sup>8+</sup> 2923 2924枚举,目录类型。 2925 2926> **说明:** 2927> 2928> 此接口从API version 9开始废弃。无替代接口。 2929 2930**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.MediaLibrary.Core 2931 2932| 名称 | 值 | 说明 | 2933| ------------- | --- | ------------------ | 2934| DIR_CAMERA | 0 | 表示Camera文件路径。 | 2935| DIR_VIDEO | 1 | 表示视频路径。 | 2936| DIR_IMAGE | 2 | 表示图片路径。 | 2937| DIR_AUDIO | 3 | 表示音频路径。 | 2938| DIR_DOCUMENTS | 4 | 表示文档路径。 | 2939| DIR_DOWNLOAD | 5 | 表示下载路径。 | 2940 2941## DeviceType<sup>8+</sup> 2942 2943枚举,设备类型。 2944 2945> **说明:** 2946> 2947> 此接口从API version 9开始废弃。无替代接口。 2948 2949**系统接口**:此接口为系统接口。 2950 2951**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.MediaLibrary.DistributedCore 2952 2953| 名称 | 值 | 说明 | 2954| ------------ | --- | ---------- | 2955| TYPE_UNKNOWN | 0 | 未识别设备。 | 2956| TYPE_LAPTOP | 1 | 笔记本电脑。 | 2957| TYPE_PHONE | 2 | 手机。 | 2958| TYPE_TABLET | 3 | 平板电脑。 | 2959| TYPE_WATCH | 4 | 智能手表。 | 2960| TYPE_CAR | 5 | 车载设备。 | 2961| TYPE_TV | 6 | 电视设备。 | 2962 2963## MediaFetchOptions<sup>7+</sup> 2964 2965检索条件。 2966 2967> **说明:** 2968> 2969> 此接口从API version 9开始废弃。请使用[FetchOptions](js-apis-photoAccessHelper.md#fetchoptions)替代。 2970 2971**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.MediaLibrary.Core 2972 2973| 名称 | 类型 | 可读 | 可写 | 说明 | 2974| ----------------------- | ------------------- | ---- | ---- | ------------------------------------------------------------ | 2975| selections | string | 是 | 是 | 检索条件,使用[FileKey](#filekey8)中的枚举值作为检索条件的列名。示例:<br/>selections: mediaLibrary.FileKey.MEDIA_TYPE + '= ? OR ' + mediaLibrary.FileKey.MEDIA_TYPE + '= ?', | 2976| selectionArgs | Array<string> | 是 | 是 | 检索条件的值,对应selections中检索条件列的值。<br/>示例:<br/>selectionArgs: [mediaLibrary.MediaType.IMAGE.toString(), mediaLibrary.MediaType.VIDEO.toString()], | 2977| order | string | 是 | 是 | 检索结果排序方式,使用[FileKey](#filekey8)中的枚举值作为检索结果排序的列,可以用升序或降序排列。示例:<br/>升序排列:order: mediaLibrary.FileKey.DATE_ADDED + ' ASC'<br/>降序排列:order: mediaLibrary.FileKey.DATE_ADDED + ' DESC' | 2978| uri<sup>8+</sup> | string | 是 | 是 | 文件URI。 | 2979| networkId<sup>8+</sup> | string | 是 | 是 | 注册设备网络ID。 | 2980| extendArgs<sup>8+</sup> | string | 是 | 是 | 扩展的检索参数,目前没有扩展检索参数。 | 2981 2982## Size<sup>8+</sup> 2983 2984图片尺寸。 2985 2986> **说明:** 2987> 2988> 此接口从API version 9开始废弃。请使用[image.Size](js-apis-image.md#size)替代。 2989 2990**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.MediaLibrary.Core 2991 2992| 名称 | 类型 | 可读 | 可写 | 说明 | 2993| ------ | ------ | ---- | ---- | -------- | 2994| width | number | 是 | 是 | 宽(单位:像素)。 | 2995| height | number | 是 | 是 | 高(单位:像素)。 | 2996 2997## MediaAssetOption 2998 2999媒体资源选项。 3000 3001> **说明:** 3002> 3003> 此接口从API version 9开始废弃。无替代接口。 3004 3005**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.MediaLibrary.Core 3006 3007| 名称 | 类型 | 可读 | 可写 | 说明 | 3008| ------------ | ------ | ---- | ---- | ------------------------------------------------------------ | 3009| src | string | 是 | 是 | 本地文件应用沙箱路径。 | 3010| mimeType | string | 是 | 是 | 媒体MIME(Multipurpose Internet Mail Extensions)类型。<br/>包括:'image/\*'、'video/\*'、'audio/\*'、 'file\*'。 | 3011| relativePath | string | 是 | 是 | 自定义媒体资源保存位置,例:Pictures/ 不填则保存到默认路径。 <br/> image类型默认路径Pictures/ <br/> video类型默认路径Videos/ <br/> audio类型默认路径Audios/ <br/> file类型默认路径Documents/ 。 | 3012 3013## MediaSelectOption 3014 3015媒体资源类型选项。 3016 3017> **说明:** 3018> 3019> 此接口从API version 9开始废弃。无替代接口。 3020 3021**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.MediaLibrary.Core 3022 3023| 名称 | 类型 | 可读 | 可写 | 说明 | 3024| ----- | ------ | ---- | ---- | -------------------- | 3025| type | 'image' | 'video' | 'media' | 是 | 是 | 媒体类型,包括:image, video, media,当前仅支持media类型。 | 3026| count | number | 是 | 是 | 可以选择媒体数量的最大值,count = 1表示单选,count大于1表示多选。 | 3027