UNPKG

larksr_websdk

Version:

Larksr websdk. Easy to build a cloud render client for larksr system or ue4 pixelstreaming.docs: https://paraversetechnology.github.io/en/webclient_sdk/

227 lines (226 loc) 8.28 kB
import { EventBase, LocalEvent } from '../event/event_base'; import * as Msg from '../protobuf/cloudlark'; import WebSocektChannel from './websocket_channel'; import WebsocketProxy from './websocket_proxy'; import { LarkSR } from '../larksr'; import PixelStreamingWebsocketChannel from './test_pixel_streaming'; import { RECORDER_STATE } from './recoder'; import PeerConnectionMediaShare from './peer_connection_media_share'; import WebCodec from './webcodec'; export declare enum APP_STATE { BEFORE_CREATE = 0, INITED = 1, WEBSOCKET_CHANNEL_OPEN = 2, LOGIN_SUCCESS = 3, RTC_CONNECTED = 4, MEDIA_LOADED = 5, MEDIA_PLAYED = 6, RTC_RETRY = 7, APP_RETRY = 8, BEFORE_DESTORY = 9, WEBSOCKET_CLOSED = 10, RTC_CLOSED = 11, DESTROYED = 12 } export declare enum APP_EVENT_TYPE { CONNECT = 0, LOGIN = 1, ERROR = 2, INFO = 3, APP_CLOSE = 4, REMOTE_STREAM = 5, REMOTE_AUDIO_STREAM = 6, SYNC_CURSORSTYLE = 7, APP_STATE_CHANGE = 8, NET_STATE = 9, LK_APP_RESIZE = 10, LK_APP_MOUSE_MODE = 11, LK_APP_PLAER_LIST = 12, LK_APP_REQUEST_TEXT = 13, LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE = 14, LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE = 15, LK_DATA_CHANNEL_RENDERSERVER_OPEN = 16, LK_DATA_CHANNEL_RENDERSERVER_CLOSE = 17, AI_VOICE_STATUS = 18, AI_VOICE_ASR_RESULT = 19, AI_VOICE_DM_RESULT = 20, AI_VOICE_ERROR = 21, RTMP_STREAM_STATE = 22, RTMP_STREAM_ERROR = 23, RTC_RETRY_SUCCESS = 24, AerialViewStatus = 25, AerialViewScreen = 26, START_XR_STREAM_RESPONSE = 27, TooltipInfo = 28 } export interface AppEvent extends LocalEvent<APP_EVENT_TYPE> { data?: any; state: APP_STATE; } export default class Application extends EventBase<APP_EVENT_TYPE, AppEvent> { MAX_MEDIA_SHARE_PEERCONNECTION: number; private websocketChannel; private websocketProxy; private testPixelStreaming; private peerConnection; getMediaSharePeerConnection(index: number): PeerConnectionMediaShare; private mediaSharePeerConnectionImp; get peerConnectionCreated(): boolean; get state(): APP_STATE; set state(state: APP_STATE); private _state; get audioDeviceId(): string | null | undefined; get audioTrack(): MediaStreamTrack | null | undefined; get videoDeviceId(): string | null | undefined; get videoTrack(): MediaStreamTrack | null | undefined; get audioPaused(): boolean | undefined; get videoPaused(): boolean | undefined; get serverFeatures(): Msg.CloudLark.INotifyFeatures | null | undefined; get serverStatics(): Msg.CloudLark.IServerStatics | null | undefined; private get sharePeerConnection(); private retryTime; private larksr; get voiceId(): number; get recodeState(): RECORDER_STATE; private recoder; private rtcConfig; get currentAppSize(): Msg.CloudLark.IAppResize | null | undefined; get webcodecDecoder(): WebCodec; private _webcodecDecoder; constructor(larksr: LarkSR); init(): void; initSharePc(): void; initPc(): void; releasePc(): void; releaseSharePc(): void; closeSharePc(): void; clear(): void; changeOperater(uid: number): void; inputText(text: string): void; sendTextToDataChannel(text: string): void; sendBinaryToDataChannel(binary: Uint8Array): void; sendReStartApplication(): void; sendApplicationSize(width: number, height: number): void; startAerialview(viewbox: { x: number; y: number; width: number; height: number; }, interval: number | undefined, thumbnailWidth: 120, thumbnailHeight: 120): void; updateAerialview(viewbox: { x: number; y: number; width: number; height: number; }): void; stopAerialview(): void; sendShowDebugLayout(open: boolean): void; sendVideoBitrateKbps(bitrateKbps: number): void; sendVideoFps(fps: number): void; aiDmTextInput(text: string): number; startAiDmVoiceInput(): Promise<number>; stopAiDmVoiceInput(): number; private onRecoderData; start(): Promise<void>; connect(): Promise<PixelStreamingWebsocketChannel> | Promise<WebsocketProxy> | Promise<WebSocektChannel> | undefined; sendKeepAlive(): void | undefined; disConnect(): void; closeRtc(): void; versionCheck(): void; task(): void; startSteam(): Promise<void>; startMonitorSteam(): void; restart(): void; restartApp(): void; rtcOffer(): Promise<void>; setAnswer(sdp: string): void; setIce(sdpMlineindex: number, sdpmid: string, candidate: string): void; sendInput(input: Msg.CloudLark.ClientInput, needRemoteScreen?: boolean): void; sendInputBuffer(buffer: ArrayBuffer): void; private sendToWebsocektChannelBuffer; private sendToWebsocektChannelMsg; private onChannelOpen; private onClose; private onChannelMsg; private onVersionCheckResponse; private onTaskResponse; private onStartStreamResponse; private onStartMonitorResponse; private onWebRtcOfferAnswer; private onWebRtcIcecandidate; private onWebRtcError; private onAppProcess; private onLogout; private onLocalSdp; private onLoacalIce; private onRemoteStream; private onAudioRemoteStream; private onRtcError; private onRtcInfo; private onRtmpStreamingState; private onRtmpStreamingError; private onIceStateChange; retryPeerconnection(): void; private onAerialViewStatus; private onAerialViewScreen; private onVideoFrame; private onToolTipinfo; private onShareMediaError; private onShareMediaInfo; private onShareMediaOffer; private onShareMediaIce; setAudioEnable(enable: boolean): any; setVideoEnable(enable: boolean): any; setShareEnable(enable: boolean): any; stopLocalAudio(): any; stopLocalVideo(): any; stopLocalShare(): any; pauseAudioSending(): any; resumeAudioSending(): any; pauseVideoSending(): any; resumeVideoSending(): any; closeAudio(): any; closeVideo(): any; closeShare(): any; openAudio(deviceId?: string): Promise<any>; openVideo(audio?: boolean, cameraId?: string, width?: number, height?: number, front?: boolean): Promise<any>; openDefaultMedia(video?: boolean, audio?: boolean): Promise<any>; openShareMediaDevice(): Promise<any>; getConnectedAudioinputDevices(): Promise<any>; getConnectedAudioOutputDevices(): Promise<any>; getConnectedVideoinputDevices(): Promise<any>; getConnectedDevices(type: MediaDeviceKind): Promise<any>; openAudioDevice(deviceId: string, kind?: "audioinput" | "audiooutput"): Promise<any>; openCamera(cameraId: string, minWidth?: number, minHeight?: number, audio?: boolean, front?: boolean): Promise<any>; openUserMeida(constraints?: MediaStreamConstraints, reset?: boolean): Promise<any>; addMediaTrack(track: MediaStreamTrack, ...streams: MediaStream[]): boolean | undefined; removeMediaTrack(track: RTCRtpSender): any; requestUserMediaPermission(constraints?: MediaStreamConstraints): any; StartCloudLiveStreaming(params: Msg.CloudLark.IRtmp_Start): Promise<void> | undefined; StopLiveStreaming(): void | undefined; private onPeerConnectionDisconnect; private onBadNetwork; private onPixelStreamingPlayerList; private onPixelStreamingDataChannelState; private onPixelStreamingDataChannelData; private onCursorStyle; private onAppResize; private onAppMouseMode; private onAppPlayerList; private onAppRequestText; private onDataChannelText; private onDataChannelBinary; private onDataChannelOpen; private onDataChannelClose; private onPeerConnectionState; private onAiVoiceStatus; private onAiVoiceAsrResult; private onAiVoiceDMResult; private onAiVoiceError; appStateChange(state: APP_STATE): void; private infoMsg; private errorMsg; private toastMsg; private $emit; private createAppEvent; }