Options
All
  • Public
  • Public/Protected
  • All
Menu

Class RTC

Hierarchy

  • RTC

Implements

Index

Constructors

constructor

  • new RTC(wsURL: string, config?: RTCConfiguration): RTC
  • Creates WebRTC client instance example:

    const WS_SERVER_URL = window.location.origin;
    const RTC_CONFIG = { 'iceServers': [ { "urls": [ "stun:64.233.165.127:19302" ] }]};
    const rtc = new RTC(WS_SERVER_URL, RTC_CONFIG);

    Parameters

    • wsURL: string
    • Optional config: RTCConfiguration

    Returns RTC

Accessors

_debug

Methods

disableVideo

  • disableVideo(): void
  • Toggles enabled state of a user's media (webcam)

    Returns void

handleAnswerMsg

  • handleAnswerMsg(__namedParameters: object): void
  • SignalingDelegate method to handle socket message of type NegotiationMessage meaning an answer to the Presenter's offer has been received. Responds to the message sent to the caller once the callee has decided to accept the request to talk.

    Parameters

    • __namedParameters: object
      • from: string
      • mediaType: "displayMedia" | "userMedia"
      • sdp: RTCSessionDescription

    Returns void

handleDisconnect

  • handleDisconnect(userId?: string): void

handleNewIceCandidateMsg

  • handleNewIceCandidateMsg(__namedParameters: object): void
  • SignalingDelegate method to handle socket message of type ICECandidateMessage meaning a new ICE candidate has been received from the other peer.

    Parameters

    • __namedParameters: object
      • candidate: string
      • from: string
      • mediaType: "displayMedia" | "userMedia"
      • sdpMLineIndex: number
      • sdpMid: string

    Returns void

handleNewUser

  • handleNewUser(userId: string): Promise<void>

handleOfferMsg

  • handleOfferMsg(__namedParameters: object): Promise<null>
  • SignalingDelegate method to handle socket message of type NegotiationMessage Accept an offer to video chat. We configure our local settings, create our RTCPeerConnection, get and attach our local camera stream, then create and send an answer to the caller.

    Parameters

    • __namedParameters: object
      • from: string
      • mediaType: "displayMedia" | "userMedia"
      • sdp: RTCSessionDescription

    Returns Promise<null>

join

  • join(room: string, isStreamer: boolean): Promise<EventEmitter<string | symbol>>
  • Sends JoinMessage message to the websocket. Returns a promise that resolves on the socket connection and rejects on the socket error

    Example:

    const room = '123';
    const isStreamer = true;
    rtc.join(room, isStreamer);

    Parameters

    • room: string
    • isStreamer: boolean

    Returns Promise<EventEmitter<string | symbol>>

mute

  • mute(): void
  • Toggles muted state of a user's audio

    Returns void

setId

  • setId(id: string): void

setupMedia

  • setupMedia(type?: MediaType, mediaConstraints?: MediaStreamConstraints): Promise<MediaStream>
  • Sets the Presenter's stream source from either webcam or display and related HTMLVideoElement. It returns a Promise that resolves to a MediaStream object. If the user denies permission, or matching media is not available, then the promise is rejected with NotAllowedError or NotFoundError respectively.

    Example:

    const mediaType = 'userMedia';
    const userMedia = document.getElementById("userMedia");
    rtc.setupMedia('userMedia', userMedia);

    Parameters

    Returns Promise<MediaStream>

startScreenSharing

  • startScreenSharing(): Promise<MediaStream>
  • Returns Promise<MediaStream>

stop

  • stop(): void
  • Stops streams and disconnects from the socket server

    Returns void

stopScreenSharing

  • stopScreenSharing(): void

Generated using TypeDoc