unifiedWebRTC Service
File: src/services/unifiedWebRTC.ts
Overview
Exports
- UserMediaState - interface export
- UserConnection - interface export
- SignalingMessage - interface export
- ChannelState - interface export
- UnifiedWebRTCService - class export
- unifiedWebRTC - const export
Functions
getWebRTCEncryptionService()
No description available.
Parameters: None
Returns: void
typescript
async function getWebRTCEncryptionService()checkState()
No description available.
Parameters: None
Returns: Unknown
typescript
const checkState = () =>updateLevel()
No description available.
Parameters: None
Returns: Unknown
typescript
const updateLevel = () =>Classes
UnifiedWebRTCService
No description available.
Methods:
constructorloadStreamQualitySettingscatchsaveStreamQualitySettingsgetVideoConstraintsswitchupdateStreamQualityupdateInputDeviceupdateOutputDeviceupdateVideoDevicejoinChannelleaveChanneltoggleVideotoggleScreenSharetoggleMutesetMutedtoggleDeafengetLocalStreamgetLocalStategetUserStreamgetUserStategetAllUsersgetConnectionStategetUserAudioElementonoffemitcalculateSpeakingStateinitializeLocalAudiosetupAudioLevelMonitoringsetupSignalingrequestChannelStatehandleSignalingMessagehandleUserJoinedhandleUserLefthandleMediaStateUpdatehandleAudioLevelhandleStateSynccreatePeerConnectionhandleOfferhandleAnswerhandleIceCandidatebroadcastMessagesendDirectMessagebroadcastMediaStatebroadcastAudioLevelsetupRemoteAudiosetTraditionalAudioEnabledcleanupRemoteAudiosetupCleanupgetSelectedDevicesloadAudioSettingssaveAudioSettingssetupSettingsListenerupdateAudioConstraintsgetAudioConstraints
Properties:
channelIdcurrentUserIdsignalChannelstatelocalStreamlocalMediaStateuserIdisAudioEnabledisVideoEnabledisScreenSharingisMutedisDeafenedisSpeakingaudioLevelstatesconnectionsallUserStatessystemeventListenersmonitoringaudioContextlocalAudioAnalysersettingsaudioConstraintsechoCancellationnoiseSuppressionautoGainControlsampleRatestreamQualitySettingsresolutionframeRateaudioBitrateselectionselectedInputDeviceselectedOutputDeviceselectedVideoDeviceEncryptionencryptionEnabledlocalStoragesavedsettingnumber3604807201080availablewidthdefaulttracksqualityapplyConstraintsvideoTracksconstraintsupdatedAPIstreamtodeviceIdmethoddevicecurrentMuteStateaudioTracksnewAudioStreamaudiovideonewAudioTracktracksendersaudioSenderpeererrorelementsuserenabledbaseVideoConstraintsvideoConstraintsnewVideoStreamnewVideoTrackvideoSenderexperiencechannelcancellationconnectioncleanuppresencesignalinguserssynctypefromdatatimestampchecktruefalseleavingmedianullcontextoldChannelIdactivespecifiedexactvideoStreamvideoTrackobtainedexistingVideoTracksrenegotiationsenderexistingSenderscheckStateofferupdatescreenShareVideoTrackIdscreenShareAudioTrackIdframeratescreenVideoConstraintsscreenStreamheightscreenVideoTrackscreenAudioTrackaudioLabelfirstscreenshareRenegotiatehasScreenAudiofailedgonesharingvideoTrackIdaudioTrackIdIDIDsshareaudioTrackchangemutedmuteGETTERSSYSTEMcallbacklistenersindexlistenerMETHODSstatusfallbackidealsavefallbackConstraintschooseUIsource256dataArraylastBroadcastupdateLevelaveragewasSpeakingspeakingnowNoteconfigeventmessagemessagesReceivedbreakstorehandlemediaStatejoinedencryptionServiceparticipantleftuserStatelevelchangedactionallStatesisInitiatorwithpciceServersurlsiceCandidatePoolSizeE2EEencodedInsertableStreamspeerConnectionremoteStreamaudioElementconnectionStateiceConnectionStateplaybackcandidateschangesinitiatoranswercandidatepayloadinitializedspatialStorespatialStatusisSpatialAudioActiveHTMLAudioElementerrorsplayingtoggledwasPlayingisNowPlayingMANAGEMENTdevicesinputDeviceoutputDevicevideoDevicepanelvalueneededpossible
Interfaces
UserMediaState
No description available.
typescript
interface UserMediaState {
userId: string;
isAudioEnabled: boolean;
isVideoEnabled: boolean;
isScreenSharing: boolean;
isMuted: boolean;
isDeafened: boolean;
isSpeaking: boolean;
audioLevel: number;
}UserConnection
No description available.
typescript
interface UserConnection {
userId: string;
peerConnection: RTCPeerConnection;
mediaState: UserMediaState;
remoteStream: MediaStream | null;
audioElement: HTMLAudioElement | null;
connectionState: RTCPeerConnectionState;
iceConnectionState: RTCIceConnectionState;
}SignalingMessage
No description available.
typescript
interface SignalingMessage {
type: 'offer' | 'answer' | 'ice-candidate' | 'user-joined' | 'user-left' | 'media-state' | 'state-sync';
from: string;
to?: string;
data: any;
timestamp: number;
}ChannelState
No description available.
typescript
interface ChannelState {
participants: UserMediaState[];
channelId: string;
}Source Code Insights
File Size: 66892 characters Lines of Code: 1868 Imports: 5
Usage Example
typescript
import { UserMediaState, UserConnection, SignalingMessage, ChannelState, UnifiedWebRTCService, unifiedWebRTC } from '@/services/unifiedWebRTC'
// Example usage
getWebRTCEncryptionService()This documentation was automatically generated from the source code.
