• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.distributedsched.abilityConnectionManager (应用多端协同管理)(系统接口)
2<!--Kit: Distributed Service Kit-->
3<!--Subsystem: DistributedSched-->
4<!--Owner: @hobbycao-->
5<!--Designer: @gsxiaowen-->
6<!--Tester: @hanjiawei-->
7<!--Adviser: @w_Machine_cc-->
8
9abilityConnectionManager模块提供了应用协同接口管理能力。设备组网成功(需登录同账号、双端打开蓝牙)后,系统应用和三方应用可以跨设备拉起同应用的一个[UIAbility](../apis-ability-kit/js-apis-app-ability-uiAbility.md),拉起并连接成功后可实现跨设备数据传输,包括字符串、[ArrayBuffer](../../arkts-utils/arraybuffer-object.md)字节流、图片、传输流。
10
11> **说明:**
12>
13> 本模块首批接口从API version 18开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
14>
15> 本模块为系统接口。
16
17## 导入模块
18
19```js
20import { abilityConnectionManager } from '@kit.DistributedServiceKit';
21```
22
23## abilityConnectionManager.on('collaborateEvent')
24
25on(type:&nbsp;'collaborateEvent',&nbsp;sessionId:&nbsp;number,&nbsp;callback:&nbsp;Callback&lt;CollaborateEventInfo&gt;):&nbsp;void
26
27注册collaborateEvent事件的回调监听。
28
29**系统能力**:SystemCapability.DistributedSched.AppCollaboration
30
31**系统API**:此接口为系统接口。
32
33**参数:**
34
35| 参数名       | 类型                                    | 必填   | 说明    |
36| --------- | ------------------------------------- | ---- | ----- |
37| type | string  | 是    |   表示事件回调类型,支持的事件类型为'collaborateEvent',完成`collaborateEvent()`调用,触发该事件。   |
38| sessionId | number  | 是    | 表示创建的协同会话ID。    |
39| callback | Callback&lt;[CollaborateEventInfo](js-apis-distributed-abilityConnectionManager.md#collaborateeventinfo)&gt; | 是    | 表示注册的回调函数。    |
40
41**错误码:**
42
43以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
44
45| 错误码ID | 错误信息 |
46| ------- | -------------------------------- |
47| 201      | Permission verification failed. The application does not have the permission required to call the API.|
48| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
49
50**示例:**
51
52  ```ts
53  import { abilityConnectionManager } from '@kit.DistributedServiceKit';
54  import { hilog } from '@kit.PerformanceAnalysisKit';
55
56  let sessionId = 100;
57  abilityConnectionManager.on("collaborateEvent", sessionId, (callbackInfo) => {
58    hilog.info(0x0000, 'testTag', 'session collaborateEvent, eventType is', callbackInfo.eventType);
59  });
60  ```
61
62## abilityConnectionManager.on('receiveImage')
63
64on(type:&nbsp;'receiveImage',&nbsp;sessionId:&nbsp;number,&nbsp;callback:&nbsp;Callback&lt;EventCallbackInfo&gt;):&nbsp;void
65
66注册receiveImage事件的回调监听。
67
68**系统能力**:SystemCapability.DistributedSched.AppCollaboration
69
70**系统API**:此接口为系统接口。
71
72**参数:**
73
74| 参数名       | 类型                                    | 必填   | 说明    |
75| --------- | ------------------------------------- | ---- | ----- |
76| type | string  | 是    |   表示事件回调类型,支持的事件类型为'receiveImage',完成`sendImage()`调用,触发该事件。   |
77| sessionId | number  | 是    | 表示创建的协同会话ID。    |
78| callback | Callback&lt;[EventCallbackInfo](js-apis-distributed-abilityConnectionManager.md#eventcallbackinfo)&gt; | 是    | 表示注册的回调函数。    |
79
80**错误码:**
81
82以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
83
84| 错误码ID | 错误信息 |
85| ------- | -------------------------------- |
86| 201      | Permission verification failed. The application does not have the permission required to call the API.|
87| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
88
89**示例:**
90
91  ```ts
92  import { abilityConnectionManager } from '@kit.DistributedServiceKit';
93  import { hilog } from '@kit.PerformanceAnalysisKit';
94
95  abilityConnectionManager.on("receiveImage", sessionId, (callbackInfo) => {
96    hilog.info(0x0000, 'testTag', 'session receiveImage, sessionId is', callbackInfo.sessionId);
97  });
98  ```
99
100## abilityConnectionManager.off('collaborateEvent')
101
102off(type:&nbsp;'collaborateEvent',&nbsp;sessionId:&nbsp;number,&nbsp;callback?:&nbsp;Callback&lt;CollaborateEventInfo&gt;):&nbsp;void
103
104取消collaborateEvent事件的回调监听。
105
106**系统能力**:SystemCapability.DistributedSched.AppCollaboration
107
108**系统API**:此接口为系统接口。
109
110**参数:**
111
112| 参数名       | 类型                                    | 必填   | 说明    |
113| --------- | ------------------------------------- | ---- | ----- |
114| type | string  | 是    |   表示事件回调类型,支持的事件类型为'collaborateEvent'。    |
115| sessionId | number  | 是    | 表示创建的协同会话ID。    |
116| callback | Callback&lt;[CollaborateEventInfo](js-apis-distributed-abilityConnectionManager.md#collaborateeventinfo)&gt; | 否    | 表示注册的回调函数。如果传入该参数,则关闭该监听。如果未传入该参数,则取消所有'collaborateEvent'事件监听。    |
117
118**错误码:**
119
120以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
121
122| 错误码ID | 错误信息 |
123| ------- | -------------------------------- |
124| 201      | Permission verification failed. The application does not have the permission required to call the API.|
125| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
126
127**示例:**
128
129  ```ts
130  import { abilityConnectionManager } from '@kit.DistributedServiceKit';
131  import { hilog } from '@kit.PerformanceAnalysisKit';
132
133  let sessionId = 100;
134  abilityConnectionManager.off("collaborateEvent", sessionId);
135  ```
136
137## abilityConnectionManager.off('receiveImage')
138
139off(type:&nbsp;'receiveImage',&nbsp;sessionId:&nbsp;number,&nbsp;callback?:&nbsp;Callback&lt;EventCallbackInfo&gt;):&nbsp;void
140
141取消receiveImage事件的回调监听。
142
143**系统能力**:SystemCapability.DistributedSched.AppCollaboration
144
145**系统API**:此接口为系统接口。
146
147**参数:**
148
149| 参数名       | 类型                                    | 必填   | 说明    |
150| --------- | ------------------------------------- | ---- | ----- |
151| type | string  | 是    |   表示事件回调类型,支持的事件类型为'receiveImage'。    |
152| sessionId | number  | 是    | 表示创建的协同会话ID。    |
153| callback | Callback&lt;[EventCallbackInfo](js-apis-distributed-abilityConnectionManager.md#eventcallbackinfo)&gt; | 否    | 表示注册的回调函数。如果传入该参数,则关闭该监听。如果未传入该参数,则取消所有'receiveImage'事件监听。    |
154
155**错误码:**
156
157以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
158
159| 错误码ID | 错误信息 |
160| ------- | -------------------------------- |
161| 201      | Permission verification failed. The application does not have the permission required to call the API.|
162| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
163
164**示例:**
165
166  ```ts
167  import { abilityConnectionManager } from '@kit.DistributedServiceKit';
168  import { hilog } from '@kit.PerformanceAnalysisKit';
169
170  let sessionId = 100;
171  abilityConnectionManager.off("receiveImage", sessionId);
172  ```
173
174## abilityConnectionManager.sendImage
175
176sendImage(sessionId:&nbsp;number,&nbsp;image:&nbsp;image.PixelMap,&nbsp;quality?:&nbsp;number):&nbsp;Promise&lt;void&gt;
177
178应用连接成功并创建传输流后,设备A或设备B可向对端设备发送图片。
179
180**系统能力**:SystemCapability.DistributedSched.AppCollaboration
181
182**系统API**:此接口为系统接口。
183
184**参数:**
185
186| 参数名       | 类型                                      | 必填   | 说明    |
187| --------- | --------------------------------------- | ---- | ----- |
188| sessionId | number | 是    | 表示协同会话ID。 |
189| image | [image.PixelMap](../apis-image-kit/arkts-apis-image-PixelMap.md) | 是    | 表示图片信息。 |
190| quality | number | 否    | 表示图像压缩质量(取值范围为0到100,默认值为30)。 |
191
192**返回值:**
193
194| 类型                  | 说明               |
195| ------------------- | ---------------- |
196| Promise&lt;void&gt; | 无返回结果的promise对象。 |
197
198**错误码:**
199
200以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
201
202| 错误码ID | 错误信息 |
203| ------- | -------------------------------- |
204| 201      | Permission verification failed. The application does not have the permission required to call the API.|
205| 202      | Permission verification failed. A non-system application calls a system API.|
206| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
207
208**示例:**
209
210  ```ts
211  import { abilityConnectionManager } from '@kit.DistributedServiceKit';
212  import { hilog } from '@kit.PerformanceAnalysisKit';
213  import { photoAccessHelper } from '@kit.MediaLibraryKit';
214  import { image } from '@kit.ImageKit';
215  import { fileIo as fs } from '@kit.CoreFileKit';
216
217  try {
218    let photoSelectOptions = new photoAccessHelper.PhotoSelectOptions();
219    photoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE;
220    photoSelectOptions.maxSelectNumber = 5;
221    let photoPicker = new photoAccessHelper.PhotoViewPicker();
222    photoPicker.select(photoSelectOptions).then((photoSelectResult) => {
223      if (!photoSelectResult) {
224        hilog.error(0x0000, 'testTag', 'photoSelectResult = null');
225      return;
226      }
227
228      let file = fs.openSync(photoSelectResult.photoUris[0], fs.OpenMode.READ_ONLY);
229      hilog.info(0x0000, 'testTag', 'file.fd:' + file.fd);
230
231      let sessionId = 100;
232      let imageSourceApi: image.ImageSource = image.createImageSource(file.fd);
233      if (imageSourceApi) {
234        imageSourceApi.createPixelMap().then((pixelMap) => {
235          abilityConnectionManager.sendImage(sessionId, pixelMap)
236        });
237      } else {
238        hilog.info(0x0000, 'testTag', 'imageSourceApi is undefined');
239      }
240    })
241  } catch (error) {
242    hilog.error(0x0000, 'testTag', 'photoPicker failed with error: ' + JSON.stringify(error));
243  }
244  ```
245
246## abilityConnectionManager.createStream
247
248createStream(sessionId:&nbsp;number,&nbsp;param:&nbsp;StreamParam):&nbsp;Promise&lt;number&gt;
249
250应用连接成功后,设备A或设备B可创建传输流,发送图片和视频流。
251
252**系统能力**:SystemCapability.DistributedSched.AppCollaboration
253
254**系统API**:此接口为系统接口。
255
256**参数:**
257
258| 参数名       | 类型                                      | 必填   | 说明    |
259| --------- | --------------------------------------- | ---- | ----- |
260| sessionId | number | 是    | 表示协同会话ID。 |
261| param | [StreamParam](#streamparam) | 是    | 表示传输流的配置信息。 |
262
263**返回值:**
264
265| 类型                  | 说明               |
266| ------------------- | ---------------- |
267| Promise&lt;number&gt; | 返回number结果的promise对象。number为创建结果。 |
268
269**错误码:**
270
271以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[分布式设备管理错误码](./errorcode-device-manager.md)。
272
273| 错误码ID | 错误信息 |
274| ------- | -------------------------------- |
275| 201      | Permission verification failed. The application does not have the permission required to call the API.|
276| 202      | Permission verification failed. A non-system application calls a system API.|
277| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
278| 32300001      | Only one stream can be created for the current session.|
279| 32300003      | Bitrate not supported.|
280| 32300004      | Color space not supported.|
281
282**示例:**
283
284  ```ts
285  import { abilityConnectionManager } from '@kit.DistributedServiceKit';
286  import { hilog } from '@kit.PerformanceAnalysisKit';
287
288  hilog.info(0x0000, 'testTag', 'startStream');
289  let sessionId = 100;
290  abilityConnectionManager.createStream(sessionId ,{name: 'receive', role: 0}).then(async (streamId) => {
291    let surfaceParam: abilityConnectionManager.SurfaceParam = {
292      width: 640,
293      height: 480,
294      format: 1
295    }
296    let surfaceId = abilityConnectionManager.getSurfaceId(streamId, surfaceParam);
297    hilog.info(0x0000, 'testTag', 'surfaceId is'+surfaceId);
298    AppStorage.setOrCreate<string>('surfaceId', surfaceId);
299    abilityConnectionManager.startStream(streamId);
300  })
301  ```
302
303## abilityConnectionManager.setSurfaceId
304
305setSurfaceId(sessionId:&nbsp;number,&nbsp;surfaceId:&nbsp;string,&nbsp;param:&nbsp;SurfaceParam):&nbsp;void
306
307设置传输流与Surface的绑定关系。
308
309**系统能力**:SystemCapability.DistributedSched.AppCollaboration
310
311**系统API**:此接口为系统接口。
312
313**参数:**
314
315| 参数名       | 类型                                      | 必填   | 说明    |
316| --------- | --------------------------------------- | ---- | ----- |
317| sessionId | number | 是    | 表示协同会话ID。 |
318| surfaceId | string | 是    | 表示Surface的唯一标识符。 |
319| param | [SurfaceParam](#surfaceparam) | 是    | 表示Surface的配置参数。 |
320
321**错误码:**
322
323以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
324
325| 错误码ID | 错误信息 |
326| ------- | -------------------------------- |
327| 202      | Permission verification failed. A non-system application calls a system API.|
328| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
329
330**示例:**
331
332  ```ts
333  import { abilityConnectionManager } from '@kit.DistributedServiceKit';
334  import { hilog } from '@kit.PerformanceAnalysisKit';
335
336  hilog.info(0x0000, 'testTag', 'setSurfaceId');
337  let sessionId = 100;
338  abilityConnectionManager.createStream(sessionId ,{name: 'receive', role: 0}).then(async (streamId) => {
339    let surfaceParam: abilityConnectionManager.SurfaceParam = {
340      width: 640,
341      height: 480,
342      format: 1
343    }
344    let surfaceId = abilityConnectionManager.getSurfaceId(streamId, surfaceParam);
345    abilityConnectionManager.setSurfaceId(streamId, surfaceId, surfaceParam);
346  })
347  ```
348
349## abilityConnectionManager.getSurfaceId
350
351getSurfaceId(sessionId:&nbsp;number,&nbsp;param:&nbsp;SurfaceParam):&nbsp;string
352
353获取指定传输流绑定的Surface的唯一标识符。
354
355**系统能力**:SystemCapability.DistributedSched.AppCollaboration
356
357**系统API**:此接口为系统接口。
358
359**参数:**
360
361| 参数名       | 类型                                      | 必填   | 说明    |
362| --------- | --------------------------------------- | ---- | ----- |
363| sessionId | number | 是    | 表示协同会话ID。 |
364| param | [SurfaceParam](#surfaceparam) | 是    | 表示Surface的配置参数。 |
365
366**返回值:**
367
368| 类型                  | 说明               |
369| ------------------- | ---------------- |
370| string | Surface的唯一标识符。 |
371
372**错误码:**
373
374以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
375
376| 错误码ID | 错误信息 |
377| ------- | -------------------------------- |
378| 202      | Permission verification failed. A non-system application calls a system API.|
379| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
380
381**示例:**
382
383  ```ts
384  import { abilityConnectionManager } from '@kit.DistributedServiceKit';
385  import { hilog } from '@kit.PerformanceAnalysisKit';
386
387  hilog.info(0x0000, 'testTag', 'getSurfaceId');
388  let sessionId = 100;
389  abilityConnectionManager.createStream(sessionId ,{name: 'receive', role: 0}).then(async (streamId) => {
390    let surfaceParam: abilityConnectionManager.SurfaceParam = {
391      width: 640,
392      height: 480,
393      format: 1
394    }
395    let surfaceId = abilityConnectionManager.getSurfaceId(streamId, surfaceParam);
396  })
397  ```
398
399## abilityConnectionManager.updateSurfaceParam
400
401updateSurfaceParam(sessionId:&nbsp;number,&nbsp;param:&nbsp;SurfaceParam):&nbsp;void
402
403更新与传输流绑定的Surface的配置信息。
404
405**系统能力**:SystemCapability.DistributedSched.AppCollaboration
406
407**系统API**:此接口为系统接口。
408
409**参数:**
410
411| 参数名       | 类型                                      | 必填   | 说明    |
412| --------- | --------------------------------------- | ---- | ----- |
413| sessionId | number | 是    | 表示协同会话ID。 |
414| param | [SurfaceParam](#surfaceparam) | 是    | 表示Surface的配置参数。 |
415
416**错误码:**
417
418以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
419
420| 错误码ID | 错误信息 |
421| ------- | -------------------------------- |
422| 202      | Permission verification failed. A non-system application calls a system API.|
423| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
424
425**示例:**
426
427  ```ts
428  import { abilityConnectionManager } from '@kit.DistributedServiceKit';
429  import { hilog } from '@kit.PerformanceAnalysisKit';
430
431  hilog.info(0x0000, 'testTag', 'updateSurfaceParam');
432  let sessionId = 100;
433  abilityConnectionManager.createStream(sessionId ,{name: 'receive', role: 0}).then(async (streamId) => {
434    let surfaceParam: abilityConnectionManager.SurfaceParam = {
435      width: 640,
436      height: 480,
437      format: 1
438    }
439    abilityConnectionManager.updateSurfaceParam(streamId, surfaceParam);
440  })
441  ```
442
443## abilityConnectionManager.destroyStream
444
445destroyStream(sessionId:&nbsp;number):&nbsp;void
446
447发送图片和视频流等业务结束后,创建传输流的应用应及时销毁传输流,否则会增加系统功耗。
448
449**系统能力**:SystemCapability.DistributedSched.AppCollaboration
450
451**系统API**:此接口为系统接口。
452
453**参数:**
454
455| 参数名       | 类型                                      | 必填   | 说明    |
456| --------- | --------------------------------------- | ---- | ----- |
457| sessionId | number | 是    | 表示协同会话ID。 |
458
459**错误码:**
460
461以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
462
463| 错误码ID | 错误信息 |
464| ------- | -------------------------------- |
465| 201      | Permission verification failed. The application does not have the permission required to call the API.|
466| 202      | Permission verification failed. A non-system application calls a system API.|
467| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
468
469**示例:**
470
471  ```ts
472  import { abilityConnectionManager } from '@kit.DistributedServiceKit';
473  import { hilog } from '@kit.PerformanceAnalysisKit';
474
475  let sessionId = 100;
476  hilog.info(0x0000, 'testTag', 'destroyStream called');
477  abilityConnectionManager.destroyStream(sessionId)
478  ```
479
480## abilityConnectionManager.startStream
481
482startStream(sessionId:&nbsp;number):&nbsp;void
483
484启动指定传输流。
485
486**系统能力**:SystemCapability.DistributedSched.AppCollaboration
487
488**系统API**:此接口为系统接口。
489
490**参数:**
491
492| 参数名       | 类型                                      | 必填   | 说明    |
493| --------- | --------------------------------------- | ---- | ----- |
494| sessionId | number | 是    | 表示协同会话ID。 |
495
496**错误码:**
497
498以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[分布式设备管理错误码](./errorcode-device-manager.md)。
499
500| 错误码ID | 错误信息 |
501| ------- | -------------------------------- |
502| 202      | Permission verification failed. A non-system application calls a system API.|
503| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
504| 32300002      | The stream at the receive end is not started. |
505
506**示例:**
507
508  ```ts
509  import { abilityConnectionManager } from '@kit.DistributedServiceKit';
510  import { hilog } from '@kit.PerformanceAnalysisKit';
511
512  let sessionId = 100;
513  hilog.info(0x0000, 'testTag', 'startStream called');
514  abilityConnectionManager.startStream(sessionId)
515  ```
516
517## abilityConnectionManager.stopStream
518
519stopStream(sessionId:&nbsp;number):&nbsp;void
520
521停止指定传输流。
522
523**系统能力**:SystemCapability.DistributedSched.AppCollaboration
524
525**系统API**:此接口为系统接口。
526
527**参数:**
528
529| 参数名       | 类型                                      | 必填   | 说明    |
530| --------- | --------------------------------------- | ---- | ----- |
531| sessionId | number | 是    | 表示协同会话ID。 |
532
533**错误码:**
534
535以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
536
537| 错误码ID | 错误信息 |
538| ------- | -------------------------------- |
539| 202      | Permission verification failed. A non-system application calls a system API.|
540| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
541
542**示例:**
543
544  ```ts
545  import { abilityConnectionManager } from '@kit.DistributedServiceKit';
546  import { hilog } from '@kit.PerformanceAnalysisKit';
547
548  let sessionId = 100;
549  hilog.info(0x0000, 'testTag', 'stopStream called');
550  abilityConnectionManager.stopStream(sessionId)
551  ```
552
553## CollaborateEventInfo
554
555协作事件信息。
556
557**系统能力**:SystemCapability.DistributedSched.AppCollaboration
558
559| 名称       | 类型   | 只读 | 可选 | 说明      |
560| -------- | ------ | ---- | ---- | ------- |
561| eventType | [CollaborateEventType](#collaborateeventtype) | 否    | 否   | 表示协作事件的类型。 |
562| eventMsg | string | 否    | 是   | 表示协作事件的协作消息。 |
563
564## StreamParam
565
566流传输配置的参数。
567
568**系统能力**:SystemCapability.DistributedSched.AppCollaboration
569
570| 名称       | 类型    | 只读 | 可选 | 说明          |
571| -------- | ------ | ---- | ---- | ----------- |
572| name  | string   | 否    | 否 |   表示流传输的名称(接收端必须与发送端一致)。 |
573| role  | [StreamRole](#streamrole)     | 否    | 否   |   表示流传输的方式(可以是接收流或发送流)。 |
574| bitrate  | number   | 否    | 是   |   表示视频比特率(仅在发送端有效,默认值为80000)。 |
575| colorSpaceConversionTarget  | [colorSpaceManager.ColorSpace](../apis-arkgraphics2d/js-apis-colorSpaceManager.md#colorspace)     | 否    | 是   |  表示转换的目标色彩空间。 |
576
577## SurfaceParam
578
579Surface配置参数。
580
581**系统能力**:SystemCapability.DistributedSched.AppCollaboration
582
583| 名称       | 类型   | 只读 | 可选 | 说明      |
584| -------- | ------ | ---- | ---- | ------- |
585| width | number | 否    | 否   | 表示编码宽度。必须在流启动前设置,流启动后到停止前均无法更新。如需更新需要将流停止后重新配置。 |
586| height | number | 否    | 否  | 表示编码长度。必须在流启动前设置,流启动后到停止前均无法更新。如需更新需要将流停止后重新配置。 |
587| format | [VideoPixelFormat](#videopixelformat) | 否    | 是   | 表示视频像素格式,此选项必须在发送端配置。 |
588| rotation | number | 否    | 是   | 表示视频的旋转角度(取值范围为{0, 90, 180, 270},默认值为0)。 |
589| flip | [FlipOptions](#flipoptions) | 否    | 是   | 表示视频是否反转。 |
590
591## CollaborateEventType
592
593协作事件的类型的枚举。
594
595**系统能力**:SystemCapability.DistributedSched.AppCollaboration
596
597| 枚举值 | 描述 |
598| -------- | -------- |
599| SEND_FAILURE   | 表示发送任务失败。 |
600| COLOR_SPACE_CONVERSION_FAILURE | 表示色彩空间转换失败。 |
601
602## FlipOptions
603
604翻转选项的枚举。
605
606**系统能力**:SystemCapability.DistributedSched.AppCollaboration
607
608| 枚举值 | 描述 |
609| -------- | -------- |
610| HORIZONTAL   | 表示水平翻转。 |
611| VERTICAL | 表示垂直翻转。 |
612
613## StreamRole
614
615流传输的方式。
616
617**系统能力**:SystemCapability.DistributedSched.AppCollaboration
618
619| 枚举值 | 描述 |
620| -------- | -------- |
621| SOURCE  | 表示流是发送流。 |
622| SINK  | 表示流是接收流。 |
623
624## VideoPixelFormat
625
626视频像素格式的枚举。
627
628**系统能力**:SystemCapability.DistributedSched.AppCollaboration
629
630| 枚举值 | 描述 |
631| -------- | -------- |
632| UNKNOWN   | 表示未知的像素格式。 |
633| NV12  | 表示NV12,YUV420半平面格式。 |
634| NV21  | 表示NV21,YUV420半平面格式。 |
635
636## ConnectOptions
637
638应用连接时所需的连接选项。
639
640**系统能力**:SystemCapability.DistributedSched.AppCollaboration
641
642| 名称          | 类型    | 只读   | 可选   | 说明          |
643| ----------- | ------- | ---- | ---- | ----------- |
644| needSendStream    | boolean  | 否    | 否    | true表示需要发送流,false表示不需要发送流。    |
645| needReceiveStream    | boolean  | 否    | 否    | true表示需要接收流,false表示不需要接收流。     |
646
647## EventCallbackInfo
648
649回调方法的接收信息。
650
651**系统能力**:SystemCapability.DistributedSched.AppCollaboration
652
653| 名称       | 类型    | 只读  | 可选  | 说明          |
654| -------- | ------ | ---- | ---- | ----------- |
655| image  | image.PixelMap | 否   | 是   |   表示接收的图片。 |
656
657## StartOptionParams
658
659启动选项参数的枚举。
660
661**系统能力**:SystemCapability.DistributedSched.AppCollaboration
662
663| 名称|  值 | 说明 |
664|-------|-------|-------|
665| START_IN_BACKGROUND | 1 |表示将对端应用启动至后台。|
666