• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_MEDIAohos.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&lt;void&gt; | 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_MEDIAohos.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