UNPKG

agora-rtc-sdk-ng

Version:
98 lines (92 loc) 3.03 kB
import { Candidate, Setup, FingerPrint, AgoraAudioReceiverStats } from '@agora-js/shared'; import { RTPCapabilitiesWithDirection } from '@agora-js/protocol'; interface ICEParameters { iceUfrag: string; icePwd: string; } interface DtlsParameters { fingerprints: FingerPrint[]; } declare enum Kind { VIDEO = "video", AUDIO = "audio" } type ConnectionParams = { iceParameters: ICEParameters; dtlsParameters: DtlsParameters; candidates: Candidate[]; rtpCapabilities: RTPCapabilitiesWithDirection; setup: Setup; cname: string; preallocation?: boolean; preSSRCs?: PreSSRCMessage[]; }; type SSRCMessage = { ssrcId: number; rtx?: number; }[]; type PreSSRCMessage = { kind: Kind; ssrcMsg: SSRCMessage; mslabel: string; }; interface AiAudioModeExtension { receiveByRTCMedia(kind: Kind, ssrcMsg: SSRCMessage, cname: string | undefined): Promise<{ track: MediaStreamTrack; id: string; }>; play(): void; stop(): void; stopReceiving(): void; onMute(): void; onUnmute(): void; close(): void; setRemoteRtpCapabilities(connectParams: ConnectionParams): void; getStats(): AgoraAudioReceiverStats; setAudioMetadataHandler(handler: ((metadata: Uint8Array) => void) | null): void; setAudioPtsHandler(handler: ((pts: bigint) => void) | null): void; } declare class AiAudioModeMedia implements AiAudioModeExtension { private _dc; static activeInstance: AiAudioModeMedia | null; private _neteq; private _pcmSource; private _outputTrack; private _dataChannel; private _remoteRtpCapabilities; private _initialized; private _receiving; private _boundSsrcId; private _mid; private _muted; private _muteTime; private _audioMetadataHandler; private _audioPtsHandler; constructor(_dc: RTCDataChannel); receiveByRTCMedia(kind: Kind, ssrcMsg: SSRCMessage, cname: string | undefined): Promise<{ track: MediaStreamTrack; id: string; }>; play(): void; stop(): void; stopReceiving(): void; onMute(): void; onUnmute(): void; private _resume; close(): void; setRemoteRtpCapabilities(connectParams: ConnectionParams): void; getStats(): AgoraAudioReceiverStats; setAudioMetadataHandler(handler: ((metadata: Uint8Array) => void) | null): void; setAudioPtsHandler(handler: ((pts: bigint) => void) | null): void; private _init; private _onDcMessage; private _sendRtcp; } type TRteServiceName = "ChannelMediaRelay" | "LiveStreaming" | "ImageModeration" | "ContentInspect" | "DataStream" | "P2PChannel" | "PlanBConnection" | "InterceptFrame" | "DataChannelConnection" | "DataChannelSignal" | "AiAudioModeExtension"; interface IRteService<T = any, R = any> { name: TRteServiceName; create: (...args: any[]) => T; createSubmodule?: (...args: any[]) => R; } declare const AiAudioModeService: IRteService<AiAudioModeMedia>; export { type AiAudioModeExtension, AiAudioModeService };