@jellyfish-dev/react-client-sdk
Version:
React client library for Jellyfish.
81 lines • 3 kB
TypeScript
import { AudioOrVideoType, DeviceManagerConfig, DeviceState, InitMediaConfig, UseUserMediaStartConfig } from "./types";
import TypedEmitter from "typed-emitter";
import { TrackType } from "./ScreenShareManager";
export type DeviceManagerEvents = {
managerStarted: (event: {
trackType: TrackType;
videoConstraints: MediaTrackConstraints | undefined;
audioConstraints: MediaTrackConstraints | undefined;
}, state: DeviceManagerState) => void;
managerInitialized: (event: {
audio?: DeviceState;
video?: DeviceState;
}, state: DeviceManagerState) => void;
devicesStarted: (event: {
audio?: DeviceState & {
restarting: boolean;
constraints?: string | boolean;
};
video?: DeviceState & {
restarting: boolean;
constraints?: string | boolean;
};
}, state: DeviceManagerState) => void;
deviceReady: (event: {
trackType: TrackType;
stream: MediaStream;
}, state: DeviceManagerState) => void;
devicesReady: (event: {
video: DeviceState & {
restarted: boolean;
};
audio: DeviceState & {
restarted: boolean;
};
}, state: DeviceManagerState) => void;
deviceStopped: (event: {
trackType: TrackType;
}, state: DeviceManagerState) => void;
deviceEnabled: (event: {
trackType: TrackType;
}, state: DeviceManagerState) => void;
deviceDisabled: (event: {
trackType: TrackType;
}, state: DeviceManagerState) => void;
error: (event: any, state: DeviceManagerState) => void;
};
export type DeviceManagerState = {
video: DeviceState;
audio: DeviceState;
};
export type DeviceManagerStatus = "uninitialized" | "initializing" | "initialized" | "error";
declare const DeviceManager_base: new () => TypedEmitter<DeviceManagerEvents>;
export declare class DeviceManager extends DeviceManager_base {
private readonly defaultAudioConstraints;
private readonly defaultVideoConstraints;
private readonly defaultStorageConfig;
private audioConstraints;
private videoConstraints;
private storageConfig;
private status;
video: DeviceState;
audio: DeviceState;
constructor(defaultConfig?: DeviceManagerConfig);
private createStorageConfig;
private getVideoConstraints;
private getAudioConstraints;
getStatus(): DeviceManagerStatus;
init(config?: InitMediaConfig): Promise<"initialized" | "error">;
private setupOnEndedCallback;
private onTrackEnded;
private getLastVideoDevice;
private saveLastVideoDevice;
private saveLastAudioDevice;
private getLastAudioDevice;
start({ audioDeviceId, videoDeviceId }: UseUserMediaStartConfig): Promise<void>;
stop(type: AudioOrVideoType): Promise<void>;
setEnable(type: AudioOrVideoType, value: boolean): void;
setConfig(config?: DeviceManagerConfig): void;
}
export {};
//# sourceMappingURL=DeviceManager.d.ts.map