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: 'collaborateEvent', sessionId: number, callback: Callback<CollaborateEventInfo>): 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<[CollaborateEventInfo](js-apis-distributed-abilityConnectionManager.md#collaborateeventinfo)> | 是 | 表示注册的回调函数。 | 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: 'receiveImage', sessionId: number, callback: Callback<EventCallbackInfo>): 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<[EventCallbackInfo](js-apis-distributed-abilityConnectionManager.md#eventcallbackinfo)> | 是 | 表示注册的回调函数。 | 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: 'collaborateEvent', sessionId: number, callback?: Callback<CollaborateEventInfo>): 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<[CollaborateEventInfo](js-apis-distributed-abilityConnectionManager.md#collaborateeventinfo)> | 否 | 表示注册的回调函数。如果传入该参数,则关闭该监听。如果未传入该参数,则取消所有'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: 'receiveImage', sessionId: number, callback?: Callback<EventCallbackInfo>): 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<[EventCallbackInfo](js-apis-distributed-abilityConnectionManager.md#eventcallbackinfo)> | 否 | 表示注册的回调函数。如果传入该参数,则关闭该监听。如果未传入该参数,则取消所有'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: number, image: image.PixelMap, quality?: number): Promise<void> 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<void> | 无返回结果的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: number, param: StreamParam): Promise<number> 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<number> | 返回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: number, surfaceId: string, param: SurfaceParam): 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: number, param: SurfaceParam): 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: number, param: SurfaceParam): 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: number): 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: number): 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: number): 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