agora-meeting-sdk
Version:
For publishing npm package agora-metting-sdk (Web). Get more information from https://docs.agora.io
119 lines (118 loc) • 4.61 kB
TypeScript
/// <reference types="node" />
import { UID } from 'agora-rtc-sdk-ng';
import { IAgoraRTCClient, ICameraVideoTrack, IMicrophoneAudioTrack, ILocalVideoTrack, ILocalAudioTrack, IAgoraRTC } from 'agora-rtc-sdk-ng';
import { EventEmitter } from 'events';
import { IWebRTCWrapper, WebRtcWrapperInitOption, CameraOption, MicrophoneOption, PrepareScreenShareParams, StartScreenShareParams } from '../interfaces';
import { AgoraWebStreamCoordinator } from './coordinator';
export declare type AgoraWebVolumeResult = {
level: number;
uid: UID;
};
export declare type FireTrackEndedAction = {
resource: 'audio' | 'video';
tag: string;
trackId: string;
};
declare type AgoraWebSDK = IAgoraRTC & {
setParameter: (key: 'AUDIO_SOURCE_AVG_VOLUME_DURATION' | 'AUDIO_VOLUME_INDICATION_INTERVAL', value: number) => void;
};
export declare class AgoraWebRtcWrapper extends EventEmitter implements IWebRTCWrapper {
_client?: IAgoraRTCClient;
_subClient: Record<string, IAgoraRTCClient>;
_screenClient?: IAgoraRTCClient;
agoraWebSdk: AgoraWebSDK;
deviceList: any[];
localUid?: any;
clientConfig?: any;
joined: boolean;
cameraTrack?: ICameraVideoTrack;
microphoneTrack?: IMicrophoneAudioTrack;
cameraTestTrack?: ICameraVideoTrack;
microphoneTestTrack?: IMicrophoneAudioTrack;
localScreenUid?: any;
screenVideoTrack?: ILocalVideoTrack;
screenAudioTrack?: ILocalAudioTrack;
publishedTrackIds: any[];
appId: string;
intervalMap: Record<string, any>;
subscribeAudioList: any[];
subscribeVideoList: any[];
unsubscribeAudioList: any[];
unsubscribeVideoList: any[];
private videoMuted;
private audioMuted;
publishedAudio: boolean;
publishedVideo: boolean;
streamCoordinator?: AgoraWebStreamCoordinator;
private hasCamera?;
private hasMicrophone?;
_localAudioStats: {
audioLossRate: number;
};
_localVideoStats: {
videoLossRate: number;
};
constructor(options: WebRtcWrapperInitOption);
clearAllInterval(): void;
releaseAllClient(): void;
reset(): void;
get client(): IAgoraRTCClient;
get screenClient(): IAgoraRTCClient;
private fire;
init(): void;
release(): void;
private stats;
private channelName;
join(option: any): Promise<any>;
registerClientByChannelName(channelName: string): IAgoraRTCClient;
joinSubChannel(option: any): Promise<any>;
private releaseChannel;
leaveSubChannel(channelName: string): Promise<any>;
leave(): Promise<any>;
private closeMediaTrack;
private closeTestTrack;
muteAllVideo(val: boolean): Promise<any>;
muteAllAudio(val: boolean): Promise<any>;
muteLocalVideo(val: boolean): Promise<any>;
muteLocalAudio(val: boolean): Promise<any>;
updateVideoList(targetUid: any, type: string): void;
updateAudioList(targetUid: any, type: string): void;
subscribeAudio(user: any): Promise<any>;
private unsubscribeAudio;
private subscribeVideo;
private unsubscribeVideo;
muteRemoteVideo(uid: any, val: boolean): Promise<any>;
muteRemoteAudio(uid: any, val: boolean): Promise<any>;
openCamera(option?: CameraOption): Promise<any>;
closeCamera(): Promise<void>;
changeCamera(deviceId: string): Promise<any>;
openMicrophone(option?: MicrophoneOption): Promise<any>;
changeResolution(config: any): Promise<any>;
closeInterval(type: string): void;
addInterval(call: CallableFunction, type: string, args: any, delay: number): void;
closeMicrophone(): Promise<void>;
enableAudioVolumeIndicator(): void;
changeMicrophone(deviceId: string): Promise<any>;
private closeScreenTrack;
prepareScreenShare(options: PrepareScreenShareParams): Promise<any>;
startScreenShare(option: StartScreenShareParams): Promise<any>;
stopScreenShare(): Promise<any>;
publish(): Promise<any>;
private unpublishTrack;
unpublish(): Promise<any>;
getDevices(): Promise<MediaDeviceInfo[]>;
getMicrophones(): Promise<MediaDeviceInfo[]>;
getCameras(): Promise<MediaDeviceInfo[]>;
changePlaybackVolume(volume: number): void;
private fireTrackEnd;
private acquireCameraTrack;
private acquireMicrophoneTrack;
openTestCamera(option?: CameraOption): Promise<any>;
closeTestCamera(): void;
changeTestCamera(deviceId: string): Promise<any>;
openTestMicrophone(option?: MicrophoneOption): Promise<any>;
changeTestResolution(config: any): Promise<any>;
closeTestMicrophone(): void;
changeTestMicrophone(deviceId: string): Promise<any>;
}
export {};