@bddh/starling-realtime-client
Version:
53 lines (52 loc) • 1.81 kB
TypeScript
/**
* @file dh-realtime-human
* @description 云渲染数字人sdk
* @author zhangyue49
*/
import { DhRealtimeHumanType, ConnectDataType } from './interface';
import { DHServerInterface, RenderCallback } from './Server';
export default class DhRealtimeHuman {
private readonly token;
private readonly appKey;
private readonly appId;
private readonly connectParams;
private readonly onDigitalHumanCallback;
private dhServer;
private rtcServer;
private rtcConnectParams;
private readonly cutoutInstance;
private readonly isHuawei;
private readonly rtcServerUrl;
constructor(props: DhRealtimeHumanType);
onRemoteVideoComing: (id: number) => void;
onRemoteVideoOn: () => void;
connectListener: (data: ConnectDataType) => void;
createServer: (sessionId?: string) => void;
checkHumanInstansce: () => void;
sendMessage: (message: DHServerInterface, 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;
destory: () => Promise<void>;
pauseHuman: () => void | Promise<void>;
playHuman: () => void | Promise<void>;
muteHuman: () => HTMLVideoElement;
unMuteHuman: () => false | Promise<void> | undefined;
}