46 Star 173 Fork 4.7K

OpenHarmony/interface_sdk-js

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
@ohos.distributedsched.abilityConnectionManager.d.ts 34.79 KB
一键复制 编辑 原始数据 按行查看 历史
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978
/*
* Copyright (c) 2024-2025 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License"),
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @file
* @kit DistributedServiceKit
*/
import { Callback } from './@ohos.base';
import image from './@ohos.multimedia.image';
import Context from './application/Context';
import colorSpaceManager from './@ohos.graphics.colorSpaceManager';
/**
* Providers interfaces to create a {@link abilityConnectionManager} instances.
*
* @namespace abilityConnectionManager
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
declare namespace abilityConnectionManager {
/**
* Collaborative application information.
* @interface PeerInfo
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
interface PeerInfo {
/**
* Device identifier. The actual value is udid-hash confused with appid and salt value based on sha256.
* This id remains unchanged after application installation. If the application is uninstalled and reinstalled,
* the obtained ID will change.
* @type { string }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
deviceId: string;
/**
* bundle name.
* @type { string }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
bundleName: string;
/**
* module name.
* @type { string }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
moduleName: string;
/**
* ability name.
* @type { string }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
abilityName: string;
/**
* Service name.
* @type { ?string }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
serviceName?: string;
}
/**
* Connection options for ability connection sessions.
* @interface ConnectOptions
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
interface ConnectOptions {
/**
* Send Data Configuration Options. WiFi needs to be turned on.
* @type { ?boolean }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
needSendData?: boolean;
/**
* Send Stream Data Configuration Options. WiFi needs to be turned on.
* @type { ?boolean }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
needSendStream?: boolean;
/**
* Receive Stream Data Configuration Options. WiFi needs to be turned on.
* @type { ?boolean }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
needReceiveStream?: boolean;
/**
* Startup option.
* @type { ?StartOptionParams }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
startOptions?: StartOptionParams;
/**
* Additional information about the ability connection request.
* @type { ?Record<string, string> }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
parameters?: Record<string, string>;
}
/**
* Connection result.
* @interface ConnectResult
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
interface ConnectResult {
/**
* Connection is accepted or rejected.
* @type { boolean }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
isConnected: boolean;
/**
* Connection failure error code.
* @type { ?ConnectErrorCode }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
errorCode?: ConnectErrorCode;
/**
* Indicates the reason for reject.
* @type { ?string }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
reason?: string;
}
/**
* Connection failure error code.
* @enum { number }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
export enum ConnectErrorCode {
/**
* A connected session exists between the two application.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
CONNECTED_SESSION_EXISTS = 0,
/**
* The peer application rejects the collaboration request.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
PEER_APP_REJECTED = 1,
/**
* Connection failed due to the device's WiFi being off.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
LOCAL_WIFI_NOT_OPEN = 2,
/**
* Connection failed due to the peer's WiFi being off.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
PEER_WIFI_NOT_OPEN = 3,
/**
* Connection failed due to the peer ability has not implemented the onCollaborate method.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
PEER_ABILITY_NO_ONCOLLABORATE = 4,
/**
* The connection failed due to an internal system error.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
SYSTEM_INTERNAL_ERROR = 5,
}
/**
* The constant for params of the start option.
*
* @enum { number }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
export enum StartOptionParams {
/**
* Launching the peer application to the foreground.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
START_IN_FOREGROUND = 0,
/**
* Launching the peer application to the background.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
START_IN_BACKGROUND = 1,
}
/**
* Connection event callback information.
* @interface EventCallbackInfo
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
interface EventCallbackInfo {
/**
* Ability connection Session id.
* @type { number }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
sessionId: number;
/**
* Indicates the reason of ability disconnection.
* @type { ?DisconnectReason }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
reason?: DisconnectReason;
/**
* Received message data.
* @type { ?string }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
msg?: string;
/**
* Received data.
* @type { ?ArrayBuffer }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
data?: ArrayBuffer;
/**
* Received image.
* @type { ?image.PixelMap }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
image?: image.PixelMap;
}
/**
* Collaborate event information.
* @interface CollaborateEventInfo
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
interface CollaborateEventInfo {
/**
* Indicates the type of collaborate event.
* @type { CollaborateEventType }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
eventType: CollaborateEventType;
/**
* Indicates the collaborate message of collaborate event.
* @type { ?string }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
eventMsg?: string;
}
/**
* CollaborateEventType.
* @enum { number }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
enum CollaborateEventType {
/**
* Indicates send task failure.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
SEND_FAILURE = 0,
/**
* Indicates color space conversion failure.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
COLOR_SPACE_CONVERSION_FAILURE = 1,
}
/**
* DisconnectReason.
* @enum { number }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
enum DisconnectReason {
/**
* Indicates that the reason is the peer application actively closes the collaboration.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
PEER_APP_CLOSE_COLLABORATION = 0,
/**
* Indicates that the reason is the peer application exit.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
PEER_APP_EXIT = 1,
/**
* Indicates that the reason is a network disconnection.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
NETWORK_DISCONNECTED = 2,
}
/**
* Registers connect event.
*
* @param { 'connect' } type - Registration Type, 'connect'.
* @param { number } sessionId - Ability connection Session id.
* @param { Callback<EventCallbackInfo> } callback - Used to handle ('connect') command.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
function on(type: 'connect', sessionId: number,
callback: Callback<EventCallbackInfo>): void;
/**
* Unregisters connect event.
*
* @param { 'connect' } type - Registration Type, 'connect'.
* @param { number } sessionId - Ability connection Session id.
* @param { Callback<EventCallbackInfo> } callback - Used to handle ('connect') command.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
function off(type: 'connect', sessionId: number,
callback?: Callback<EventCallbackInfo>): void;
/**
* Registers disconnect event.
*
* @param { 'disconnect' } type - Registration Type, 'disconnect'.
* @param { number } sessionId - Ability connection Session id.
* @param { Callback<EventCallbackInfo> } callback - Used to handle ('disconnect') command.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
function on(type: 'disconnect', sessionId: number,
callback: Callback<EventCallbackInfo>): void;
/**
* Unregisters disconnect event.
*
* @param { 'disconnect' } type - Registration Type, 'connect'.
* @param { number } sessionId - Ability connection Session id.
* @param { Callback<EventCallbackInfo> } callback - Used to handle ('disconnect') command.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
function off(type: 'disconnect', sessionId: number,
callback?: Callback<EventCallbackInfo>): void;
/**
* Registers receiveMessage event.
*
* @param { 'receiveMessage' } type - Registration Type, 'receiveMessage'.
* @param { number } sessionId - Ability connection Session id.
* @param { Callback<EventCallbackInfo> } callback - Used to handle ('receiveMessage') command.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
function on(type: 'receiveMessage', sessionId: number,
callback: Callback<EventCallbackInfo>): void;
/**
* Unregisters receiveMessage event.
*
* @param { 'receiveMessage' } type - Registration Type, 'receiveMessage'.
* @param { number } sessionId - Ability connection Session id.
* @param { Callback<EventCallbackInfo> } callback - Used to handle ('receiveMessage') command.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
function off(type: 'receiveMessage', sessionId: number,
callback?: Callback<EventCallbackInfo>): void;
/**
* Registers receiveData event.
*
* @param { 'receiveData' } type - Registration Type, 'receiveData'.
* @param { number } sessionId - Ability connection Session id.
* @param { Callback<EventCallbackInfo> } callback - Used to handle ('receiveData') command.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
function on(type: 'receiveData', sessionId: number,
callback: Callback<EventCallbackInfo>): void;
/**
* Unregisters receiveData event.
*
* @param { 'receiveData' } type - Registration Type, 'receiveData'.
* @param { number } sessionId - Ability connection Session id.
* @param { Callback<EventCallbackInfo> } callback - Used to handle ('receiveData') command.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
function off(type: 'receiveData', sessionId: number,
callback?: Callback<EventCallbackInfo>): void;
/**
* Registers receiveImage event.
*
* @param { 'receiveImage' } type - Registration Type, 'receiveImage'.
* @param { number } sessionId - Ability connection Session id.
* @param { Callback<EventCallbackInfo> } callback - Used to handle ('receiveImage') command.
* @throws { BusinessError } 202 - Not system App.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
function on(type: 'receiveImage', sessionId: number,
callback: Callback<EventCallbackInfo>): void;
/**
* Unregisters receiveImage event.
*
* @param { 'receiveImage' } type - Registration Type, 'receiveImage'.
* @param { number } sessionId - Ability connection Session id.
* @param { Callback<EventCallbackInfo> } callback - Used to handle ('receiveImage') command.
* @throws { BusinessError } 202 - Not system App.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
function off(type: 'receiveImage', sessionId: number,
callback?: Callback<EventCallbackInfo>): void;
/**
* Registers collaborateEvent event.
*
* @param { 'collaborateEvent' } type - Registration Type, 'collaborateEvent'.
* @param { number } sessionId - Ability connection Session id.
* @param { Callback<CollaborateEventInfo> } callback - Called when an error event comes.
* @throws { BusinessError } 202 - Not system App.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
function on(type: 'collaborateEvent', sessionId: number,
callback: Callback<CollaborateEventInfo>): void;
/**
* Unregisters collaborateEvent event.
*
* @param { 'collaborateEvent' } type - Registration Type, 'collaborateEvent'.
* @param { number } sessionId - Ability connection Session id.
* @param { Callback<CollaborateEventInfo> } callback - Called when an error event comes.
* @throws { BusinessError } 202 - Not system App.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
function off(type: 'collaborateEvent', sessionId: number,
callback?: Callback<CollaborateEventInfo>): void;
/**
* Create the Ability connection Session.
*
* @permission ohos.permission.INTERNET and ohos.permission.GET_NETWORK_INFO and ohos.permission.SET_NETWORK_INFO and ohos.permission.DISTRIBUTED_DATASYNC
* @param { string } serviceName - Service name, which must be consistent at both ends.
* @param { Context } context - The context of an ability.
* @param { PeerInfo } peerInfo - Collaborative application information at the sink end.
* @param { ConnectOptions } connectOptions - Connection options for Ability connection sessions.
* @returns { number} Returns the Ability connection Session id.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
function createAbilityConnectionSession(serviceName: string, context: Context, peerInfo: PeerInfo,
connectOptions: ConnectOptions): number;
/**
* Destroy the ability connection session
*
* @param { number } sessionId - Ability connection Session id.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
function destroyAbilityConnectionSession(sessionId: number): void;
/**
* Get the application information in the ability connection session
*
* @param { number } sessionId - Ability connection Session id.
* @returns { PeerInfo | undefined } Returns the collaborative application information at the sink end.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
function getPeerInfoById(sessionId: number): PeerInfo | undefined;
/**
* Initiate an ability session connection.
*
* @param { number } sessionId - Ability connection Session id.
* @returns { Promise<ConnectResult> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
function connect(sessionId: number): Promise<ConnectResult>;
/**
* Disconnect a Ability connection Session.
*
* @param { number } sessionId - Ability connection Session id.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
function disconnect(sessionId: number): void;
/**
* Accept connection request and prepare the connection environment.
*
* @param { number } sessionId - Ability connection Session id.
* @param { string } token - Token for collaborative service management
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
function acceptConnect(sessionId: number, token: string): Promise<void>;
/**
* Notify the peer end of the reason why the connection is rejected.
*
* @param { string } token - Token for collaborative service management.
* @param { string } reason - Reason for connection rejection.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
function reject(token: string, reason: string): void;
/**
* Send message data.
*
* @param { number } sessionId - Ability connection Session id.
* @param { string } msg - Message data to be sent.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
function sendMessage(sessionId: number, msg: string): Promise<void>;
/**
* Send data.
*
* @param { number } sessionId - Ability connection Session id.
* @param { ArrayBuffer } data - Data to be sent.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
function sendData(sessionId: number, data: ArrayBuffer): Promise<void>;
/**
* Send image data.
*
* @param { number } sessionId - Ability connection Session id.
* @param { image.PixelMap } image - image data to be sent.
* @param { number } [quality] - image compression quality, range 0~100, default 30.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 202 - Not system App.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
function sendImage(sessionId: number, image: image.PixelMap, quality?: number): Promise<void>;
/**
* Creating a Stream.
*
* @param { number } sessionId - Ability connection Session id.
* @param { StreamParam } param - Transport Stream Parameters
* @returns {Promise<number>} The promise returned by the function, contain the ID of a transport stream.
* @throws { BusinessError } 202 - Not system App.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @throws { BusinessError } 32300001 - Only one stream can be created for the current session.
* @throws { BusinessError } 32300003 - Bitrate not supported.
* @throws { BusinessError } 32300004 - Color space not supported.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
function createStream(sessionId: number, param: StreamParam): Promise<number>;
/**
* Sets the transmission surface.
*
* @param { number } streamId - Indicates the ID of a transport stream.
* @param { string } surfaceId - Surface ID.
* @param { SurfaceParam } param - Surface Parameters
* @throws { BusinessError } 202 - Not system App.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
function setSurfaceId(streamId: number, surfaceId: string, param: SurfaceParam): void;
/**
* Obtains the transmission surface.
*
* @param { number } streamId - Indicates the ID of a transport stream.
* @param { SurfaceParam } param - Surface Parameters
* @returns {string} Returns the ID of a surface.
* @throws { BusinessError } 202 - Not system App.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
function getSurfaceId(streamId: number, param: SurfaceParam): string;
/**
* Update surface parameters.
*
* @param { number } streamId - Stream ID.
* @param { SurfaceParam } param - Surface Parameters
* @throws { BusinessError } 202 - Not system App.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
function updateSurfaceParam(streamId: number, param: SurfaceParam): void;
/**
* Destroy the Stream.
*
* @param { number } streamId - Indicates the ID of a transport stream.
* @throws { BusinessError } 202 - Not system App.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
function destroyStream(streamId: number): void;
/**
* Start Streaming
*
* @param { number } streamId - Indicates the ID of a transport stream.
* @throws { BusinessError } 202 - Not system App.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @throws { BusinessError } 32300002 - The stream at the receive end is not started.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
function startStream(streamId: number): void;
/**
* Stop Streaming
*
* @param { number } streamId - Indicates the ID of a transport stream.
* @throws { BusinessError } 202 - Not system App.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
function stopStream(streamId: number): void;
/**
* Streaming configuration parameters.
* @interface StreamParam
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
interface StreamParam {
/**
* Stream name, the receive end must be consistent with the transmit end.
* @type { string }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
name: string;
/**
* Stream transmission role, which can be a receive stream or a transmit stream.
* @type { StreamRole }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
role: StreamRole;
/**
* This value indicates video bitrate, default 80(kbps). Only valid on the sender side.
* @type { ?number }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
bitrate?: number;
/**
* The target color space for conversion. Currently, only BT709_LIMIT is supported.
* If the video format on the sender side is HDR and needs to be converted to SDR during transmission, this parameter should be set.
* @type { ?colorSpaceManager.ColorSpace }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
colorSpaceConversionTarget?: colorSpaceManager.ColorSpace;
}
/**
* Surface configuration parameters.
* @interface SurfaceParam
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
interface SurfaceParam {
/**
* Encoding width. Must be set before stream starts and cannot update once set.
* @type { number }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
width: number;
/**
* Encoding length. Must be set before stream starts and cannot update once set.
* @type { number }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
height: number;
/**
* Video PixelFormat, this option must be configured on the sender.
* Must be set before stream starts and cannot update once set.
* @type { ?VideoPixelFormat }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
format?: VideoPixelFormat;
/**
* This value identifies the rotation angle of the video.
* the range of rotation angle should be {0, 90, 180, 270}, default is 0
* @type { ?number }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
rotation?: number;
/**
* This value indicates whether the video is reversed.
* @type { ?FlipOptions }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
flip?: FlipOptions;
}
/**
* Flip option.
* @enum { number }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
export enum FlipOptions {
/**
* Horizontal Flip
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
HORIZONTAL = 0,
/**
* Vertical Flip
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
VERTICAL = 1,
}
/**
* Stream transmission role.
* @enum { number }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
export enum StreamRole {
/**
* This status indicates the stream is a send stream.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
SOURCE = 0,
/**
* This status indicates the stream is a receive stream.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
SINK = 1,
}
/**
* Video pixelFormat Configuration Options.
* @enum { number }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
export enum VideoPixelFormat {
/**
* Unknown.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
UNKNOWN = -1,
/**
* NV12. yuv 420 semiplanar.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
NV12 = 0,
/**
* NV21. yvu 420 semiplanar.
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @systemapi
* @since 18
*/
NV21 = 1,
}
/**
* The keys for ability onCollaborate parameters.
* @enum { string }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
export enum CollaborationKeys {
/**
* The key of peerinfo
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
PEER_INFO = 'ohos.collaboration.key.peerInfo',
/**
* The key of connect options
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
CONNECT_OPTIONS = 'ohos.collaboration.key.connectOptions',
/**
* The key of collaboration type
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
COLLABORATE_TYPE = 'ohos.collaboration.key.abilityCollaborateType',
}
/**
* Ability collaboration values.
* @enum { string }
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
export enum CollaborationValues {
/**
* Default collaboration type
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
ABILITY_COLLABORATION_TYPE_DEFAULT = 'ohos.collaboration.value.abilityCollab',
/**
* Collaboration type of connect proxy
* @syscap SystemCapability.DistributedSched.AppCollaboration
* @since 18
*/
ABILITY_COLLABORATION_TYPE_CONNECT_PROXY = 'ohos.collaboration.value.connectProxy',
}
}
export default abilityConnectionManager;
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/openharmony/interface_sdk-js.git
git@gitee.com:openharmony/interface_sdk-js.git
openharmony
interface_sdk-js
interface_sdk-js
master

搜索帮助