UNPKG

@bddh/starling-realtime-client

Version:

83 lines (82 loc) 3.05 kB
/** * @file dh-realtime-human * @description 云渲染数字人sdk * @author zhangyue49 */ import { DhRealtimeHumanType, ConnectDataType, CallbackMsgType, EffectsType, DestroyOptions } from './interface'; import { DHServerInterface, RenderCallback } from './Server'; export default class DhRealtimeHuman { private token; private appKey; private appId; private connectParams; private readonly onDigitalHumanCallback?; private dhServer; private rtcServer?; private rtcConnectParams; private cutoutInstance?; private hasInitChromaEffects; private readonly isHuawei; private rtcServerUrl; private rtcInternalIp; private recordController; private wsReadyState; private readonly isPreOpenSession; private readonly openWsOnly; private hasConnectUserFigureEffects; private _isMicMuted; private mergeConnectRtcExtras; private emitRawStatusMessage; private resolveMediaServerByDomain?; private remoteAutoPlay; constructor(props: DhRealtimeHumanType); canShowStaticFrameCover(): boolean; init(props: DhRealtimeHumanType): void; onDigitalHumanCallbackPlus: (data: CallbackMsgType) => void; onRemoteVideoComing: (id: number) => void; onLocalStream: () => void; onRemoteVideoOn: () => void; onRemoteVideoConnected: (id: number, connected: boolean) => void; onRemoteVideoOffLastFrame: () => void; connectListener: (data: ConnectDataType) => void; handleConnectResponse(data: ConnectDataType): Promise<void>; mergeConnectRtcExtrasFromBody(body: Record<string, any>): Promise<void>; applyConnectChroma(effects: EffectsType): Promise<void>; createServer: (sessionId?: string) => void; checkHumanInstansce: () => boolean; sendMessage: (message: DHServerInterface | ArrayBuffer, listener: RenderCallback | null) => Promise<void> | null; interrupt: () => Promise<void>; textRender: (renderData: { requestId: string; body: string; onCallbackMsg: RenderCallback; }) => void; textStreamRender: (renderData: { requestId?: string; body: string; onCallbackMsg: RenderCallback; }) => void; audioRender: (renderData: { body: string; onCallbackMsg: RenderCallback; }) => void; audioStreamRender: (renderData: { requestId?: string; body: string; onCallbackMsg: RenderCallback; }) => void; textQuery: (queryData: { requestId: string; body: string; onCallbackMsg: RenderCallback; }) => void; handleDestroyView: (keepLastFrame: boolean) => void; destroy: (options?: DestroyOptions) => Promise<void>; pauseHuman: () => void | Promise<void>; playHuman: () => void | Promise<void>; muteHuman: () => HTMLVideoElement; unMuteHuman: () => false | Promise<void> | undefined; startRecord(): void; stopRecord(): void; muteMicrophone(isMute: boolean): void; }