UNPKG

@4players/odin

Version:

A cross-platform SDK enabling developers to integrate real-time VoIP chat technology into their projects

119 lines (118 loc) 5.23 kB
import { Peer as PeerData } from '@4players/odin-common/api'; import { Room } from '../room'; import { OdinEvent, OdinEventTarget } from '../../utils/odin-event-target'; import { AudioActivityPayload, AudioInputPayload, AudioOutputPayload, MediaPayload, UserDataChangedPayload, VideoInputPayload, VideoOutputPayload } from '../room/types'; import { PeerEvents } from './types'; /** * Class describing a single peer inside an `OdinRoom`. */ export declare class Peer extends OdinEventTarget<PeerEvents> { protected _peerData: PeerData; readonly room: Room; readonly id: number; /** * The userId that was provided by the token when joining the room. */ readonly userId: string; /** * This method is for SDK internal usage and might get removed. * @deprecated * @param {OdinEvent<AudioActivityPayload>} event - The audio event containing the payload * with RMS power level information. */ readonly rmsDBFSHandler: (event: OdinEvent<AudioActivityPayload>) => void; /** * This method is for SDK internal usage and might get removed. * * @deprecated * @param {OdinEvent<AudioActivityPayload>} event - The audio activity event containing relevant payload data. */ readonly audioActivityHandler: (event: OdinEvent<AudioActivityPayload>) => void; /** * A callback function that is invoked when audio activity occurs and voice activity detection (VAD) was set to true. * * @param {AudioActivityPayload} payload - An object containing the AudioMedia. */ onAudioActivity?: (payload: AudioActivityPayload) => void; /** * A callback function invoked when there is an update to the audio power level in rmsDBFS. * This function can be used to handle or process audio activity, such as * monitoring sound levels or visualizing audio input. * * @param {AudioActivityPayload} payload - An object containing the AudioMedia. */ onPowerLevel?: (payload: AudioActivityPayload) => void; /** * A callback function that gets invoked when a new audio or video media was started. * * @param {MediaPayload} payload - An object containing the media that was started. */ onMediaStarted?: (payload: MediaPayload) => void; /** * A callback function that gets invoked when an audio or video media was stopped. * * @param {MediaPayload} payload - An object containing the media that was stopped. */ onMediaStopped?: (payload: MediaPayload) => void; /** * A callback function that gets invoked when an AudioInput was started. * * @param {AudioInputPayload} payload - An object containing the AudioInput that was started. */ onAudioInputStarted?: (payload: AudioInputPayload) => void; /** * A callback function that gets invoked when a VideoInput was started. * * @param {VideoInputPayload} payload - An object containing the VideoInput that was started. */ onVideoInputStarted?: (payload: VideoInputPayload) => void; /** * A callback function that gets invoked when a VideoInput was stopped. * * @param {VideoInputPayload} payload - An object containing the VideoInput that was stopped. */ onVideoInputStopped?: (payload: VideoInputPayload) => void; /** * A callback function that gets invoked when an AudioInput was stopped. * * @param {AudioInputPayload} payload - An object containing the AudioInput that was stopped. */ onAudioInputStopped?: (payload: AudioInputPayload) => void; /** * A callback function that gets invoked when an AudioOutput was started. * * @param {AudioOutputPayload} payload - An object containing the AudioOutput that was started. */ onAudioOutputStarted?: (payload: AudioOutputPayload) => void; /** * A callback function that gets invoked when an AudioOutput was stopped. * * @param {AudioOutputPayload} payload - An object containing the AudioOutput that was stopped. */ onAudioOutputStopped?: (payload: AudioOutputPayload) => void; /** * A callback function that gets invoked when a VideoOutput was started. * * @param {AudioOutputPayload} payload - An object containing the VideoOutput that was started. */ onVideoOutputStarted?: (payload: VideoOutputPayload) => void; /** * A callback function that gets invoked when a VideoOutput was stopped. * * @param {VideoOutputPayload} payload - An object containing the VideoOutput that was stopped. */ onVideoOutputStopped?: (payload: VideoOutputPayload) => void; /** * A callback function invoked when user data is changed. * * @param {UserDataChangedPayload} payload - An object containing the peer and the room. */ onUserDataChanged?: (payload: UserDataChangedPayload) => void; /** * Creates an instance of the class with the provided peer data, room, and remote status. * * @param {PeerData} _peerData - The peer data object containing information about the peer. * @param {Room} room - The room instance associated with the peer. */ constructor(_peerData: PeerData, room: Room); }