0.13.1 • Published 2 years ago

@bandwidth/webrtc-browser v0.13.1

Weekly downloads
44
License
MIT
Repository
github
Last release
2 years ago

Bandwidth WebRTC Browser SDK Documentation

Initialize the Bandwidth WebRTC Browser SDK

import BandwidthRtc from "@bandwidth/webrtc-browser";

const bandwidthRtc = new BandwidthRtc();

API Methods

connect

  • Params:
    • authParams: the device token to connect with
    • options: optional SDK settings (can be omitted)
      • websocketUrl: override the default Bandwidth RTC connection url (this should not generally be needed)
  • Description: connect device to the Bandwidth RTC platform
await bandwidthRtc.connect({
  deviceToken: deviceToken,
});

publish

  • Params:
    • input: the input to publish; this can be an instance of:
      • constraints: the media stream constraints such as audio, peerIdentity, video
        • Type: MediaStreamConstraints
      • mediaStream: An already existing media stream such as a screen share
        • Type: MediaStream
  • Return:
    • rtcStream: a media stream with the supplied media stream constraints
      • Type: RtcStream
  • Description: publish media

Publish with default settings:

let rtcStream: RtcStream = await bandwidthRtc.publish();

Publish audio only

const mediaConstraints: MediaStreamConstraints = {
  audio: true,
  video: false,
};
let rtcStream: RtcStream = await bandwidthRtc.publish(mediaConstraints);

Publish with customized constraints

const mediaConstraints: MediaStreamConstraints = {
  audio: {
    autoGainControl: true,
    channelCount: 1,
    deviceId: "default",
    echoCancellation: true,
    latency: 0.01,
    noiseSuppression: true,
    sampleRate: 48000,
    sampleSize: 16,
  },
  video: {
    aspectRatio: 1.3333333333333333,
    frameRate: 30,
    width: { min: 640, ideal: 1280 },
    height: { min: 480, ideal: 720 },
    resizeMode: "none",
  },
};
let rtcStream: RtcStream = await bandwidthRtc.publish(mediaConstraints);

Publish with existing media stream

let screenShare = await navigator.mediaDevices.getDisplayMedia({
  video: true,
});
let rtcStream: RtcStream = await bandwidthRtc.publish(screenShare);

Please see the following resources for more information on MediaStreamConstraints and MediaTrackConstraints that can be specified here:

disconnect

  • Description: disconnect device from the Bandwidth RTC platform

Event Listeners

onStreamAvailable

  • Description: a media stream is available to attach to the UI
bandwidthRtc.onStreamAvailable((event) => {
  console.log(
    `A stream is available with endpointId=${event.endpointId}, its media types are ${event.mediaTypes} and the stream itself is ${event.mediaStream}`
  );
});

onStreamUnavailable

  • Description: a media stream is now unavailable and should be removed from the UI
bandwidthRtc.onStreamUnavailable((event) => {
  console.log(
    `The stream with endpointId=${event.endpointId} is now unavailable and should be removed from the UI because the media is likely to freeze imminently.`
  );
});
0.13.1

2 years ago

0.0.1

2 years ago

0.12.0-beta.1

2 years ago

0.11.3

2 years ago

0.10.0

3 years ago

0.10.0-beta.1

3 years ago

0.9.0

3 years ago

0.9.2

3 years ago

0.9.1

3 years ago

0.9.2-beta.1

3 years ago

0.9.0-beta.4

3 years ago

0.9.0-beta.3

3 years ago

0.9.0-beta.2

3 years ago

0.9.0-beta.1

3 years ago

0.9.0-beta.0

3 years ago

0.8.0

3 years ago

0.7.0

3 years ago

0.6.0

3 years ago

0.5.2

3 years ago

0.4.0

4 years ago

0.3.0

4 years ago

0.2.0

4 years ago

0.1.0

4 years ago