0.2.17 • Published 2 months ago

@rtco/client v0.2.17

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

@rtco/client

Artico client library. Please refer to the documentation for more information.

Installation

npm install @rtco/client

Usage

The following example shows how to connect two peers and share audio/video or any data between them:

Peer 1

import { Artico, type Call } from "@rtco/client";

const rtco = new Artico();

rtco.on("open", (id: string) => {
  // We're now connected to the signaling server.
  // `id` refers to the unique ID that is currently assigned to this peer, so remote peers can connect to us.
  console.log("Connected to signaling server with peer ID:", id);
});

rtco.on("close", () => {
  console.log("Connection to signaling server is now closed.");
});

rtco.on("error", (err) => {
  console.log("Artico error:", err);
});

rtco.on("call", (call: Call) => {
  // The calling peer can link any metadata object to a call.
  const { metadata } = call;
  const remotePeerName = metadata.name;

  console.log(`Call from ${remotePeerName}...`);

  // Answer the call.
  call.answer();

  call.on("stream", (stream, metadata) => {
    // Stream was added by remote peer, so display it somehow.
    // `metadata` can be appended by the remote peer when adding the stream.
  });
});

Peer 2

import { Artico, type Call } from "@rtco/client";

const remotePeerId = "<ID of target remote peer>";

const rtco = new Artico();

const call = rtco.call(remotePeerId);

call.on("error", (err) => {
  console.log("Call error:", err);
});

call.on("close", () => {
  console.log("Call closed");
});

// ...

navigator.mediaDevices
  .getUserMedia({
    video: true,
    audio: true,
  })
  .then((stream) => {
    // send stream to Peer 1 with metadata indicating type of stream
    call.addStream(stream, {
      type: "camera",
    });
  })
  .catch(console.error);
0.2.17

2 months ago

0.2.16

3 months ago

0.2.15

3 months ago

0.2.14

3 months ago

0.2.13

3 months ago

0.2.12

3 months ago

0.2.11

6 months ago

0.2.10

7 months ago

0.2.9

7 months ago

0.2.7

8 months ago

0.2.6

8 months ago

0.2.8

8 months ago

0.2.5

8 months ago

0.2.1

9 months ago

0.2.0

9 months ago

0.2.3

9 months ago

0.2.2

9 months ago

0.2.4

9 months ago

0.1.30

9 months ago

0.1.31

9 months ago

0.1.32

9 months ago

0.1.28

9 months ago

0.1.29

9 months ago

0.1.27

9 months ago

0.1.20

9 months ago

0.1.21

9 months ago

0.1.22

9 months ago

0.1.23

9 months ago

0.1.24

9 months ago

0.1.25

9 months ago

0.1.26

9 months ago

0.1.19

9 months ago

0.1.17

9 months ago

0.1.18

9 months ago

0.1.16

9 months ago

0.1.15

9 months ago

0.1.10

1 year ago

0.1.11

1 year ago

0.1.12

1 year ago

0.1.13

1 year ago

0.1.14

1 year ago

0.1.8

1 year ago

0.1.7

1 year ago

0.1.9

1 year ago

0.1.6

1 year ago

0.1.5

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago