rahatline
Version:
Rahatline Browser connection
48 lines • 2.05 kB
TypeScript
import { Client } from "./internal/model/client_model";
import { Signaling } from "./internal/signaling/interface";
import { RlAudioStream } from "./media/RlAudioStream";
import { RlVideoStream } from "./media/RlVideoStream";
declare class RahatLineConnection {
private _myId;
private _signaling;
private _peerConnection;
private _connectionState;
private readonly _mediaStreams;
private readonly _connectToPeerPromise;
ClientLeave: ((client: Client) => void) | undefined;
NewClientConnected: ((client: Client) => void) | undefined;
OnNewAudioStream: ((stream: RlAudioStream) => void) | undefined;
OnNewVideoStream: ((stream: RlVideoStream) => void) | undefined;
OnVideoStreamClosed: ((stream: RlVideoStream) => void) | undefined;
OnAudioStreamClosed: ((stream: RlAudioStream) => void) | undefined;
OnConnectionStateChanged: ((state: RTCPeerConnectionState) => void) | undefined;
constructor(signaling: Signaling);
get MyId(): string;
get ConnectionState(): RTCPeerConnectionState;
get Clients(): ReadonlyArray<Client>;
StartMicrophoneStream(): Promise<void>;
StopMicrophoneStream(): Promise<void>;
StartWebcamStream(): Promise<void>;
StopWebcamStream(): Promise<void>;
StartCanvasStream(canvas: HTMLCanvasElement, frameRate?: number): Promise<void>;
StopCanvasStream(): Promise<void>;
Connect(): Promise<string>;
Close(): void;
private _StartLocalNegotiation;
private _OnIceCandidate_PCEvent;
private _OnNewTrack_PCEvent;
private _OnRemoveTrack_PCEvent;
private _OnConnectionStateChanged_PCEvent;
private _OnServerOffer_SignalingEvent;
private _OnServerAnswer_SignalingEvent;
private _BootstrapSignaling;
private _BootstrapPeerConnection;
}
export declare function InitializeConnection(address: string, token: string, options: Partial<InitializeOptions>): RahatLineConnection;
type InitializeOptions = {
port: number;
path: string;
protocol: 'ws' | 'wss';
};
export {};
//# sourceMappingURL=index.d.ts.map