0.13.1 • Published 2 years ago
@bandwidth/webrtc-browser v0.13.1
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
- constraints: the media stream constraints such as audio, peerIdentity, video
- input: the input to publish; this can be an instance of:
- Return:
- rtcStream: a media stream with the supplied media stream constraints
- Type: RtcStream
- rtcStream: a media stream with the supplied media stream constraints
- 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:
- https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamConstraints
- https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints
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