@klever-one/web-sdk
Version:
Web SDK for integrating real-time room management and streaming functionality into web applications
51 lines (50 loc) • 1.81 kB
TypeScript
import { PixelStreaming } from '@epicgames-ps/lib-pixelstreamingfrontend-ue5.4';
/**
* Streaming 미디어 관리를 담당하는 서비스
* 책임: TTS 상호작용, 오디오 처리, Ready state 관리
*/
export declare class StreamingMediaService {
private static instance;
private stream;
private mediaState;
private isReadyToSendListeners;
private hasSentResetMessage;
private eventBus;
private audioManager;
private constructor();
static getInstance(): StreamingMediaService;
setStream(stream: PixelStreaming | null): void;
private setupStreamMediaHandlers;
private setupBeforeUnloadHandler;
private startKeepAlive;
private stopKeepAlive;
/**
* 중앙화된 데이터 채널 전송 메서드
* 모든 emitUIInteraction 호출을 이 메서드를 통해 래핑
*/
private emitToDataChannel;
private sendKeepAlive;
handleResponseFunction(data: string): Promise<void>;
private sendWebConnectedInfo;
private handleLipmotionStart;
private handleUpdateMessage;
ttsInteractions(inputText: string, voiceId: string, languageId: string, TTSService: string): void;
sendStartConversation(): void;
endConversation(): void;
autoPlayVideo(): void;
play(): void;
isReadyToSendMessages(): boolean;
isStreamReady(): boolean;
resetIsReadyToSend(): void;
resetIsStreamReady(): void;
setIsReadyToSend(isReady: boolean): void;
setIsStreamReady(isReady: boolean): void;
sendAccountType(): void;
addIsReadyToSendListener(listener: (isReady: boolean) => void): void;
removeIsReadyToSendListener(listener: (isReady: boolean) => void): void;
setVolume(volume: number): void;
getVolume(): number;
sendZoomIn(): void;
sendZoomOut(): void;
cleanup(): void;
}