1# @ohos.multimedia.medialibrary (媒体库管理)(系统接口) 2 3> **说明:** 4> 5> - 该组件从API version 6开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 6> - 本模块从API version 9开始废弃。对应的替代接口请参考具体接口说明。 7> - 当前页面仅包含本模块的系统接口,其他公开接口参见[@ohos.multimedia.medialibrary (媒体库管理)](js-apis-medialibrary.md)。 8 9## 导入模块 10 11```ts 12import mediaLibrary from '@ohos.multimedia.mediaLibrary'; 13``` 14 15## MediaLibrary 16 17### deleteAsset<sup>8+</sup> 18 19deleteAsset(uri: string): Promise\<void> 20 21删除媒体文件资源。 22 23调用该接口彻底删除文件前,需要先调用[FileAsset.trash](js-apis-medialibrary.md#trash8)将文件放入回收站,否则文件会删除失败。 24 25> **说明:** 26> 27> 此接口从API version 9开始废弃。请使用[deleteAssets](js-apis-photoAccessHelper-sys.md#deleteassetsdeprecated-3)替代。 28 29**系统接口**:此接口为系统接口。 30 31**需要权限**:ohos.permission.READ_MEDIA 和 ohos.permission.WRITE_MEDIA 32 33**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 34 35**参数:** 36 37| 参数名 | 类型 | 必填 | 说明 | 38| -------- | ---------------------------- | ---- | --------------- | 39| uri | string | 是 | 需要删除的媒体文件资源的uri。 | 40 41**返回值:** 42 43| 类型 | 说明 | 44| ------------------- | -------------------- | 45| Promise<void> | Promise对象,返回删除的结果。 | 46 47**示例:** 48 49```ts 50import { BusinessError } from '@ohos.base'; 51 52async function example() { 53 let fileKeyObj = mediaLibrary.FileKey; 54 let fileType = mediaLibrary.MediaType.FILE; 55 let option: mediaLibrary.MediaFetchOptions = { 56 selections: fileKeyObj.MEDIA_TYPE + '= ?', 57 selectionArgs: [fileType.toString()], 58 }; 59 const fetchFileResult = await media.getFileAssets(option); 60 let asset = await fetchFileResult.getFirstObject(); 61 if (asset == undefined) { 62 console.error('asset not exist'); 63 return; 64 } 65 media.deleteAsset(asset.uri).then(() => { 66 console.info('deleteAsset successfully'); 67 }).catch((error: BusinessError) => { 68 console.error('deleteAsset failed with error: ' + error); 69 }); 70 fetchFileResult.close(); 71} 72``` 73 74### deleteAsset<sup>8+</sup> 75 76deleteAsset(uri: string, callback: AsyncCallback\<void>): void 77 78删除媒体文件资源。 79 80调用该接口彻底删除文件前,需要先调用[FileAsset.trash](js-apis-medialibrary.md#trash8)将文件放入回收站,否则文件会删除失败。 81 82> **说明:** 83> 84> 此接口从API version 9开始废弃。请使用[deleteAssets](js-apis-photoAccessHelper-sys.md#deleteassetsdeprecated-2)替代。 85 86**系统接口**:此接口为系统接口。 87 88**需要权限**:ohos.permission.READ_MEDIA 和 ohos.permission.WRITE_MEDIA 89 90**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core 91 92**参数:** 93 94| 参数名 | 类型 | 必填 | 说明 | 95| -------- | ---------------------------- | ---- | --------------- | 96| uri | string | 是 | 需要删除的媒体文件资源的uri。 | 97|callback |AsyncCallback\<void>| 是 |callback返回空。| 98 99**示例:** 100 101```ts 102async function example() { 103 let fileKeyObj = mediaLibrary.FileKey; 104 let fileType = mediaLibrary.MediaType.FILE; 105 let option: mediaLibrary.MediaFetchOptions = { 106 selections: fileKeyObj.MEDIA_TYPE + '= ?', 107 selectionArgs: [fileType.toString()], 108 }; 109 const fetchFileResult = await media.getFileAssets(option); 110 let asset = await fetchFileResult.getFirstObject(); 111 if (asset == undefined) { 112 console.error('asset not exist'); 113 return; 114 } 115 media.deleteAsset(asset.uri, (error) => { 116 if (error != undefined) { 117 console.error('deleteAsset failed with error: ' + error); 118 } else { 119 console.info('deleteAsset successfully'); 120 } 121 }); 122 fetchFileResult.close(); 123} 124``` 125 126### getActivePeers<sup>8+</sup> 127 128getActivePeers(): Promise\<Array\<PeerInfo>>; 129 130获取在线对端设备的信息,使用Promise方式返回异步结果。 131 132> **说明:** 133> 134> 此接口从API version 9开始废弃。无替代接口。 135 136**系统接口**:此接口为系统接口。 137 138**需要权限**:ohos.permission.READ_MEDIA 139 140**系统能力**:SystemCapability.Multimedia.MediaLibrary.DistributedCore 141 142**返回值:** 143 144| 类型 | 说明 | 145| ------------------- | -------------------- | 146| Promise\<Array\<[PeerInfo](#peerinfo8)>> | Promise对象,返回获取的所有在线对端设备的PeerInfo。 | 147 148**示例:** 149 150```ts 151import { BusinessError } from '@ohos.base'; 152 153async function example() { 154 media.getActivePeers().then((devicesInfo) => { 155 if (devicesInfo != undefined) { 156 console.info('get distributed info ' + JSON.stringify(devicesInfo)); 157 } else { 158 console.info('get distributed info is undefined!'); 159 } 160 }).catch((error: BusinessError) => { 161 console.error('get distributed info failed with error: ' + error); 162 }); 163} 164``` 165 166### getActivePeers<sup>8+</sup> 167 168getActivePeers(callback: AsyncCallback\<Array\<PeerInfo>>): void; 169 170获取在线对端设备的信息,使用callback方式返回异步结果。 171 172> **说明:** 173> 174> 此接口从API version 9开始废弃。无替代接口。 175 176**系统接口**:此接口为系统接口。 177 178**需要权限**:ohos.permission.READ_MEDIA 179 180**系统能力**:SystemCapability.Multimedia.MediaLibrary.DistributedCore 181 182**返回值:** 183 184| 类型 | 说明 | 185| ------------------- | -------------------- | 186| callback: AsyncCallback\<Array\<[PeerInfo](#peerinfo8)>> | callback返回获取的所有在线对端设备的PeerInfo对象。 | 187 188**示例:** 189 190```ts 191async function example() { 192 media.getActivePeers((error, devicesInfo) => { 193 if (devicesInfo != undefined) { 194 console.info('get distributed info ' + JSON.stringify(devicesInfo)); 195 } else { 196 console.error('get distributed failed with error: ' + error); 197 } 198 }); 199} 200``` 201 202### getAllPeers<sup>8+</sup> 203 204getAllPeers(): Promise\<Array\<PeerInfo>>; 205 206获取所有对端设备的信息,使用Promise方式返回异步结果。 207 208> **说明:** 209> 210> 此接口从API version 9开始废弃。无替代接口。 211 212**系统接口**:此接口为系统接口。 213 214**需要权限**:ohos.permission.READ_MEDIA 215 216**系统能力**:SystemCapability.Multimedia.MediaLibrary.DistributedCore 217 218**返回值:** 219 220| 类型 | 说明 | 221| ------------------- | -------------------- | 222| Promise\<Array\<[PeerInfo](#peerinfo8)>> | Promise对象,返回获取的所有对端设备的PeerInfo。 | 223 224**示例:** 225 226```ts 227import { BusinessError } from '@ohos.base'; 228 229async function example() { 230 media.getAllPeers().then((devicesInfo) => { 231 if (devicesInfo != undefined) { 232 console.info('get distributed info ' + JSON.stringify(devicesInfo)); 233 } else { 234 console.info('get distributed info is undefined!'); 235 } 236 }).catch((error: BusinessError) => { 237 console.error('get distributed info failed with error: ' + error); 238 }); 239} 240``` 241 242### getAllPeers<sup>8+</sup> 243 244getAllPeers(callback: AsyncCallback\<Array\<PeerInfo>>): void; 245 246获取所有对端设备的信息,使用callback方式返回异步结果。 247 248> **说明:** 249> 250> 此接口从API version 9开始废弃。无替代接口。 251 252**系统接口**:此接口为系统接口。 253 254**需要权限**:ohos.permission.READ_MEDIA 255 256**系统能力**:SystemCapability.Multimedia.MediaLibrary.DistributedCore 257 258**返回值:** 259 260| 类型 | 说明 | 261| ------------------- | -------------------- | 262| callback: AsyncCallback\<Array\<[PeerInfo](#peerinfo8)>> | callback返回获取的所有对端设备的PeerInfo对象。 | 263 264**示例:** 265 266```ts 267async function example() { 268 media.getAllPeers((error, devicesInfo) => { 269 if (devicesInfo != undefined) { 270 console.info('get distributed info ' + JSON.stringify(devicesInfo)); 271 } else { 272 console.error('get distributed failed with error: ' + error); 273 } 274 }); 275} 276``` 277 278## PeerInfo<sup>8+</sup> 279 280注册设备的信息。 281 282> **说明:** 283> 284> 此接口从API version 9开始废弃。无替代接口。 285 286**系统接口**:此接口为系统接口。 287 288**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.MediaLibrary.DistributedCore 289 290| 名称 | 类型 | 可读 | 可写 | 说明 | 291| ---------- | -------------------------- | ---- | ---- | ---------------- | 292| deviceName | string | 是 | 否 | 注册设备的名称。 | 293| networkId | string | 是 | 否 | 注册设备的网络ID。 | 294| deviceType | [DeviceType](#devicetype8) | 是 | 否 | 设备类型。 | 295| isOnline | boolean | 是 | 否 | 是否在线。 | 296 297## DeviceType<sup>8+</sup> 298 299枚举,设备类型。 300 301> **说明:** 302> 303> 此接口从API version 9开始废弃。无替代接口。 304 305**系统接口**:此接口为系统接口。 306 307**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.MediaLibrary.DistributedCore 308 309| 名称 | 值 | 说明 | 310| ------------ | --- | ---------- | 311| TYPE_UNKNOWN | 0 | 未识别设备。 | 312| TYPE_LAPTOP | 1 | 笔记本电脑。 | 313| TYPE_PHONE | 2 | 手机。 | 314| TYPE_TABLET | 3 | 平板电脑。 | 315| TYPE_WATCH | 4 | 智能手表。 | 316| TYPE_CAR | 5 | 车载设备。 | 317| TYPE_TV | 6 | 电视设备。 | 318