Interface defining the parameters required by the AudioCard component.

These parameters provide the context and state needed for audio display, participant management, and media controls.

AudioCardParameters

interface SwitchAudioParameters {
    audioDecibels: AudioDecibels[];
    coHostResponsibility: CoHostResponsibility[];
    coHost: string;
    videoParams: ProducerOptions;
    canvasStream: MediaStream;
    connectSendTransportVideo: ConnectSendTransportVideoType;
    connectSendTransportScreen: ConnectSendTransportScreenType;
    updateAudioLevel: ((level: number) => void);
    screenProducer: Producer<AppData>;
    localScreenProducer?: Producer<AppData>;
    screenParams: ProducerOptions;
    params: ProducerOptions;
    updateScreenProducer: ((producer: Producer<AppData>) => void);
    updateLocalScreenProducer?: ((localProducer: Producer<AppData>) => void);
    videoProducer: Producer<AppData>;
    localVideoProducer?: Producer<AppData>;
    updateVideoProducer: ((producer: Producer<AppData>) => void);
    updateLocalVideoProducer?: ((localProducer: Producer<AppData>) => void);
    device: Device;
    producerTransport: Transport<AppData>;
    localProducerTransport?: Transport<AppData>;
    updateProducerTransport: ((producerTransport: Transport<AppData>) => void);
    updateLocalProducerTransport?: ((localTransport: Transport<AppData>) => void);
    updateTransportCreated: ((transportCreated: boolean) => void);
    updateLocalTransportCreated?: ((localTransportCreated: boolean) => void);
    connectSendTransport: ConnectSendTransportType;
    participants: Participant[];
    allVideoStreams: (Stream | Participant)[];
    member: string;
    shareScreenStarted: boolean;
    eventType: EventType;
    screenId?: string;
    forceFullDisplay: boolean;
    mainScreenFilled: boolean;
    adminOnMainScreen: boolean;
    mainScreenPerson: string;
    oldAllStreams: (Stream | Participant)[];
    checkOrientation: (() => string);
    screenForceFullDisplay: boolean;
    localStreamScreen: MediaStream;
    remoteScreenStream: Stream[];
    localStreamVideo: MediaStream;
    mainHeightWidth: number;
    isWideScreen: boolean;
    localUIMode: boolean;
    whiteboardStarted: boolean;
    whiteboardEnded: boolean;
    virtualStream: MediaStream;
    keepBackground: boolean;
    annotateScreenStream: boolean;
    updateMainScreenPerson: ((person: string) => void);
    updateMainScreenFilled: ((filled: boolean) => void);
    updateAdminOnMainScreen: ((admin: boolean) => void);
    updateMainHeightWidth: ((heightWidth: number) => void);
    updateScreenForceFullDisplay: ((force: boolean) => void);
    updateMainGridStream: ((components: Element[]) => void);
    customVideoCard?: CustomVideoCardType;
    customAudioCard?: CustomAudioCardType;
    customMiniCard?: CustomMiniCardType;
    videoCardComponent?: ComponentType<VideoCardOptions>;
    audioCardComponent?: ComponentType<AudioCardOptions>;
    miniCardComponent?: ComponentType<MiniCardOptions>;
    audioProducer: Producer<AppData>;
    localAudioProducer?: Producer<AppData>;
    socket: Socket<DefaultEventsMap, DefaultEventsMap>;
    localSocket?: Socket<DefaultEventsMap, DefaultEventsMap>;
    roomName: string;
    localStream: MediaStream;
    localStreamAudio: MediaStream;
    audioParams: ProducerOptions;
    audioPaused: boolean;
    audioAlreadyOn: boolean;
    transportCreated: boolean;
    localTransportCreated?: boolean;
    audioParamse?: ProducerCodecOptions;
    hostLabel: string;
    updateMainWindow: boolean;
    videoAlreadyOn: boolean;
    islevel: string;
    lock_screen: boolean;
    shared: boolean;
    updateAudioProducer: ((audioProducer: Producer<AppData>) => void);
    updateLocalAudioProducer?: ((localAudioProducer: Producer<AppData>) => void);
    updateLocalStream: ((localStream: MediaStream) => void);
    updateAudioParams: ((audioParams: ProducerOptions) => void);
    updateDefAudioID: ((defAudioID: string) => void);
    updateUpdateMainWindow: ((updateMainWindow: boolean) => void);
    sleep: SleepType;
    prepopulateUserMedia: PrepopulateUserMediaType;
    createSendTransport: CreateSendTransportType;
    connectSendTransportAudio: ConnectSendTransportAudioType;
    mediaDevices: {
        getUserMedia: ((constraints: MediaStreamConstraints) => Promise<MediaStream>);
        getDisplayMedia: ((constraints: MediaStreamConstraints) => Promise<MediaStream>);
        enumerateDevices: (() => Promise<MediaDeviceInfo[]>);
    };
    showAlert?: ShowAlert;
    hasAudioPermission: boolean;
    streamSuccessAudioSwitch: StreamSuccessAudioSwitchType;
    requestPermissionAudio: RequestPermissionAudioType;
    checkMediaPermission: boolean;
    defAudioID: string;
    userDefaultAudioInputDevice: string;
    prevAudioInputDevice: string;
    updateUserDefaultAudioInputDevice: ((deviceId: string) => void);
    updatePrevAudioInputDevice: ((deviceId: string) => void);
    switchUserAudio: SwitchUserAudioType;
    getUpdatedAllParams: (() => SwitchAudioParameters);
    [key: string]: any;
}

Hierarchy (view full)

Indexable

  • [key: string]: any

Properties

audioDecibels coHostResponsibility coHost videoParams canvasStream connectSendTransportVideo connectSendTransportScreen updateAudioLevel screenProducer localScreenProducer? screenParams params updateScreenProducer updateLocalScreenProducer? videoProducer localVideoProducer? updateVideoProducer updateLocalVideoProducer? device producerTransport localProducerTransport? updateProducerTransport updateLocalProducerTransport? updateTransportCreated updateLocalTransportCreated? connectSendTransport participants allVideoStreams member shareScreenStarted eventType screenId? forceFullDisplay mainScreenFilled adminOnMainScreen mainScreenPerson oldAllStreams checkOrientation screenForceFullDisplay localStreamScreen remoteScreenStream localStreamVideo mainHeightWidth isWideScreen localUIMode whiteboardStarted whiteboardEnded virtualStream keepBackground annotateScreenStream updateMainScreenPerson updateMainScreenFilled updateAdminOnMainScreen updateMainHeightWidth updateScreenForceFullDisplay updateMainGridStream customVideoCard? customAudioCard? customMiniCard? videoCardComponent? audioCardComponent? miniCardComponent? audioProducer localAudioProducer? socket localSocket? roomName localStream localStreamAudio audioParams audioPaused audioAlreadyOn transportCreated localTransportCreated? audioParamse? hostLabel updateMainWindow videoAlreadyOn islevel lock_screen shared updateAudioProducer updateLocalAudioProducer? updateLocalStream updateAudioParams updateDefAudioID updateUpdateMainWindow sleep prepopulateUserMedia createSendTransport connectSendTransportAudio mediaDevices showAlert? hasAudioPermission streamSuccessAudioSwitch requestPermissionAudio checkMediaPermission defAudioID userDefaultAudioInputDevice prevAudioInputDevice updateUserDefaultAudioInputDevice updatePrevAudioInputDevice switchUserAudio getUpdatedAllParams

Properties

audioDecibels: AudioDecibels[]

Array of audio level data for all participants (used for waveform visualization)

coHostResponsibility: CoHostResponsibility[]

Array of responsibilities assigned to co-hosts

coHost: string

User ID of the co-host

videoParams: ProducerOptions
canvasStream: MediaStream
connectSendTransportVideo: ConnectSendTransportVideoType
connectSendTransportScreen: ConnectSendTransportScreenType
updateAudioLevel: ((level: number) => void)
screenProducer: Producer<AppData>
localScreenProducer?: Producer<AppData>
screenParams: ProducerOptions
params: ProducerOptions
updateScreenProducer: ((producer: Producer<AppData>) => void)
updateLocalScreenProducer?: ((localProducer: Producer<AppData>) => void)
videoProducer: Producer<AppData>
localVideoProducer?: Producer<AppData>
updateVideoProducer: ((producer: Producer<AppData>) => void)
updateLocalVideoProducer?: ((localProducer: Producer<AppData>) => void)
device: Device
producerTransport: Transport<AppData>
localProducerTransport?: Transport<AppData>
updateProducerTransport: ((producerTransport: Transport<AppData>) => void)
updateLocalProducerTransport?: ((localTransport: Transport<AppData>) => void)
updateTransportCreated: ((transportCreated: boolean) => void)
updateLocalTransportCreated?: ((localTransportCreated: boolean) => void)
connectSendTransport: ConnectSendTransportType
participants: Participant[]

Array of all participants in the session

allVideoStreams: (Stream | Participant)[]
member: string

Current user's member ID

shareScreenStarted: boolean
eventType: EventType

Type of event ('conference', 'webinar', 'broadcast', etc.)

screenId?: string
forceFullDisplay: boolean
mainScreenFilled: boolean
adminOnMainScreen: boolean
mainScreenPerson: string
oldAllStreams: (Stream | Participant)[]
checkOrientation: (() => string)
screenForceFullDisplay: boolean
localStreamScreen: MediaStream
remoteScreenStream: Stream[]
localStreamVideo: MediaStream
mainHeightWidth: number
isWideScreen: boolean
localUIMode: boolean
whiteboardStarted: boolean
whiteboardEnded: boolean
virtualStream: MediaStream
keepBackground: boolean
annotateScreenStream: boolean
updateMainScreenPerson: ((person: string) => void)
updateMainScreenFilled: ((filled: boolean) => void)
updateAdminOnMainScreen: ((admin: boolean) => void)
updateMainHeightWidth: ((heightWidth: number) => void)
updateScreenForceFullDisplay: ((force: boolean) => void)
updateMainGridStream: ((components: Element[]) => void)
customVideoCard?: CustomVideoCardType
customAudioCard?: CustomAudioCardType
customMiniCard?: CustomMiniCardType
videoCardComponent?: ComponentType<VideoCardOptions>
audioCardComponent?: ComponentType<AudioCardOptions>
miniCardComponent?: ComponentType<MiniCardOptions>
audioProducer: Producer<AppData>
localAudioProducer?: Producer<AppData>
socket: Socket<DefaultEventsMap, DefaultEventsMap>

Socket.io client instance for real-time communication

localSocket?: Socket<DefaultEventsMap, DefaultEventsMap>
roomName: string

Name/ID of the current room session

localStream: MediaStream
localStreamAudio: MediaStream
audioParams: ProducerOptions
audioPaused: boolean
audioAlreadyOn: boolean
transportCreated: boolean
localTransportCreated?: boolean
audioParamse?: ProducerCodecOptions
hostLabel: string
updateMainWindow: boolean
videoAlreadyOn: boolean
islevel: string

Current user's level/role (e.g., '0', '1', '2')

lock_screen: boolean
shared: boolean
updateAudioProducer: ((audioProducer: Producer<AppData>) => void)
updateLocalAudioProducer?: ((localAudioProducer: Producer<AppData>) => void)
updateLocalStream: ((localStream: MediaStream) => void)
updateAudioParams: ((audioParams: ProducerOptions) => void)
updateDefAudioID: ((defAudioID: string) => void)
updateUpdateMainWindow: ((updateMainWindow: boolean) => void)
sleep: SleepType
prepopulateUserMedia: PrepopulateUserMediaType
createSendTransport: CreateSendTransportType
connectSendTransportAudio: ConnectSendTransportAudioType
mediaDevices: {
    getUserMedia: ((constraints: MediaStreamConstraints) => Promise<MediaStream>);
    getDisplayMedia: ((constraints: MediaStreamConstraints) => Promise<MediaStream>);
    enumerateDevices: (() => Promise<MediaDeviceInfo[]>);
}
showAlert?: ShowAlert

Optional function to display alerts/notifications

hasAudioPermission: boolean
streamSuccessAudioSwitch: StreamSuccessAudioSwitchType
requestPermissionAudio: RequestPermissionAudioType
checkMediaPermission: boolean
defAudioID: string
userDefaultAudioInputDevice: string
prevAudioInputDevice: string
updateUserDefaultAudioInputDevice: ((deviceId: string) => void)
updatePrevAudioInputDevice: ((deviceId: string) => void)
switchUserAudio: SwitchUserAudioType
getUpdatedAllParams: (() => SwitchAudioParameters)

Function to retrieve latest parameter state