Make and answer media calls
masterPeerJS supports media streams (audio/video) via WebRTC.
To make a call, use peer.call(id, stream). You must provide a local media stream (e.g., from navigator.mediaDevices.getUserMedia). Listen for the stream event on the returned call object to receive the remote stream.
To answer a call, listen for the call event on your Peer instance. Once a call is received, use call.answer(stream) to respond with your own local media stream. You can also listen for the stream event on the call object to receive the caller's stream.
// --- Making a call ---
navigator.mediaDevices.getUserMedia(
{ video: true, audio: true },
(stream) => {
const call = peer.call("another-peers-id", stream);
call.on("stream", (remoteStream) => {
// Use remoteStream in a <video> element
});
},
(err) => console.error(err)
);
// --- Answering a call ---
peer.on("call", (call) => {
navigator.mediaDevices.getUserMedia(
{ video: true, audio: true },
(stream) => {
call.answer(stream);
call.on("stream", (remoteStream) => {
// Use remoteStream in a <video> element
});
},
(err) => console.error(err)
);
});