@skyway-sdk/sfu-bot
Version:
The official Next Generation JavaScript SDK for SkyWay
66 lines • 2.82 kB
TypeScript
import { Event } from '@skyway-sdk/common';
import { LocalAudioStream, LocalCustomVideoStream, LocalPersonImpl, LocalVideoStream, MemberImpl, MemberType, Publication, RemoteMemberImplInterface, SkyWayChannelImpl, SkyWayContext } from '@skyway-sdk/core';
import { SfuRestApiClient } from '@skyway-sdk/sfu-api-client';
import { SfuBotPlugin } from '.';
import { SFUConnection } from './connection';
import { TransportRepository } from './connection/transport/transportRepository';
import { Forwarding, ForwardingConfigure } from './forwarding';
import { SfuBotPluginOptions } from './option';
export declare class SfuBotMember extends MemberImpl implements RemoteMemberImplInterface {
readonly side = "remote";
static readonly subtype = "sfu";
readonly subtype = "sfu";
readonly type: MemberType;
private readonly _context;
private readonly _transportRepository;
readonly options: SfuBotPluginOptions;
private _connections;
/** @description [japanese] forwardingを開始した時に発火するイベント */
readonly onForwardingStarted: Event<{
forwarding: Forwarding;
}>;
/** @description [japanese] forwardingを終了した時に発火するイベント */
readonly onForwardingStopped: Event<{
forwarding: Forwarding;
}>;
/** @description [japanese] forwardingの数が変化した時に発火するイベント */
readonly onForwardingListChanged: Event<void>;
private readonly _api;
private _startForwardQueue;
private _forwardings;
get forwardings(): Forwarding[];
/**@internal */
constructor(args: {
channel: SkyWayChannelImpl;
id: string;
name?: string;
metadata?: string | undefined;
plugin: SfuBotPlugin;
api: SfuRestApiClient;
context: SkyWayContext;
transportRepository: TransportRepository;
options: SfuBotPluginOptions;
});
/**@private */
_getConnection(localPersonId: string): SFUConnection;
/**@private */
_getOrCreateConnection(localPerson: LocalPersonImpl): SFUConnection;
/**@private */
private _createConnection;
/**
* @description [japanese] StreamのPublicationをForwardingする
* @throws {SkyWayError}
* @example
* const forwarding = await bot.startForwarding(publication, { maxSubscribers: 99 });
*/
startForwarding(publication: Publication<LocalVideoStream | LocalAudioStream | LocalCustomVideoStream>, configure?: Partial<ForwardingConfigure>): Promise<Forwarding>;
private _startForwarding;
private listenStopForwardEvent;
/**
* @description [japanese] Forwardingを停止する
*/
stopForwarding: (target: string | Forwarding) => Promise<void>;
/**@private */
_dispose(): void;
}
//# sourceMappingURL=member.d.ts.map