@anam-ai/js-sdk
Version:
Client side JavaScript SDK for Anam AI
59 lines • 2.33 kB
TypeScript
import { InternalEventEmitter, PublicEventEmitter } from '../modules';
import { InputAudioState, StreamingClientOptions } from '../types';
import { TalkMessageStream } from '../types/TalkMessageStream';
export declare class StreamingClient {
private publicEventEmitter;
private internalEventEmitter;
private signallingClient;
private engineApiRestClient;
private iceServers;
private peerConnection;
private connectionReceivedAnswer;
private remoteIceCandidateBuffer;
private inputAudioStream;
private dataChannel;
private videoElement;
private videoStream;
private audioElement;
private audioStream;
private inputAudioState;
private audioDeviceId;
constructor(sessionId: string, options: StreamingClientOptions, publicEventEmitter: PublicEventEmitter, internalEventEmitter: InternalEventEmitter);
private onInputAudioStateChange;
private muteAllAudioTracks;
private unmuteAllAudioTracks;
muteInputAudio(): InputAudioState;
unmuteInputAudio(): InputAudioState;
getInputAudioState(): InputAudioState;
getPeerConnection(): RTCPeerConnection | null;
getInputAudioStream(): MediaStream | null;
getVideoStream(): MediaStream | null;
getAudioStream(): MediaStream | null;
sendDataMessage(message: string): void;
setMediaStreamTargetsById(videoElementId: string, audioElementId: string): void;
startConnection(): void;
stopConnection(): void;
sendTalkCommand(content: string): Promise<void>;
startTalkMessageStream(correlationId?: string): TalkMessageStream;
private initPeerConnection;
private onSignalMessage;
private onSignallingClientConnected;
private flushRemoteIceCandidateBuffer;
/**
* ICE Candidate Trickle
* As each ICE candidate is gathered from the STUN server it is sent to the
* webRTC server immediately in an effort to reduce time to connection.
*/
private onIceCandidate;
private onIceConnectionStateChange;
private onConnectionStateChange;
private handleWebrtcFailure;
private onTrackEventHandler;
/**
* Set up the data channels for sending and receiving messages
*/
private setupDataChannels;
private initPeerConnectionAndSendOffer;
private shutdown;
}
//# sourceMappingURL=StreamingClient.d.ts.map