1.1.8 • Published 3 months ago

@apirtc/react-lib v1.1.8

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

react-lib

This library offers React ApiRTC high order components. Theses are mostly hooks to fasten your ApiRTC integration.

Install

npm install @apirtc/react-lib @apirtc/apirtc

Note: @apirtc/apirtc is required as a peer dependency.

Coding example

Visit this codesandbox to understand how easy it is to create a simple conferencing application with @apirtc/react-lib.

Hooks

useSession

Get a stateful session:

import { useSession } from "@apirtc/react-lib";
const [credentials] = useState({ apiKey: "your_api_key" });
const { session } = useSession(credentials);

useUserMediaDevices

Get a stateful list of available media devices:

import { useUserMediaDevices } from "@apirtc/react-lib";
const { userMediaDevices } = useUserMediaDevices(session);

This hook can also manage devices selection.

useCameraStream

Get a stateful value for the camera stream:

import { useCameraStream } from "@apirtc/react-lib";
const { stream } = useCameraStream(session);

useStreamApplyAudioProcessor

import { useStreamApplyAudioProcessor } from "@apirtc/react-lib";
const { stream: noiseReductionStream } = useStreamApplyAudioProcessor(
  stream,
  "noiseReduction"
);

useStreamApplyVideoProcessor

import { useStreamApplyVideoProcessor } from "@apirtc/react-lib";
const { stream: blurredStream } = useStreamApplyVideoProcessor(stream, "blur");

usePresence

Get a stateful map of contacts by group:

import { usePresence } from "@apirtc/react-lib";
const [groups] = useState(["groupName1", "groupName2"]);
const { contactsByGroup } = usePresence(session, groups);

useConversation

Get a stateful Conversation:

import { useConversation } from "@apirtc/react-lib";
const { conversation } = useConversation(session, "conversationName");

useConversationContacts

Get Conversation Contacts in your state:

import { useConversationContacts } from "@apirtc/react-lib";
const { contacts } = useConversationContacts(conversation);

useConversationModeration

Get a set of candidates Contacts, and get notified of ejection:

import { useConversationModeration } from "@apirtc/react-lib";
const { candidates, onEjected, onEjectedSelf } =
  useConversationModeration(conversation);

useConversationMessages

import { useConversationMessages } from "@apirtc/react-lib";
const { messages, sendMessage } = useConversationMessages(conversation);

useConversationStreams

Control Streams to publish, and get stateful arrays of published and subscribed Streams:

import { useConversationStreams } from "@apirtc/react-lib";
const streamsToPublish = useMemo(
  () => (stream ? [{ stream: stream }] : []),
  [stream]
);
const { publishedStreams, subscribedStreams } = useConversationStreams(
  conversation,
  streamsToPublish
);

Components

VideoStream

Use it to display any ApiRTC Stream.

import { VideoStream } from "@apirtc/react-lib";

<VideoStream stream={stream} muted={false}></VideoStream>;

Note: For more comprehensive set of UI components, please have a look at @apirtc/mui-react-lib

Configure log level

Available log levels:

  • debug
  • info
  • warn
  • error

from web app code:

import { setLogLevel } from "@apirtc/react-lib";

setLogLevel("warn");

from console:

setApirtcReactLibLogLevel("debug");
1.1.8

3 months ago

1.1.7

3 months ago

1.1.6

3 months ago

1.1.5

3 months ago

1.1.4

4 months ago

1.1.3

4 months ago

1.1.2

4 months ago

1.1.1

7 months ago

1.1.1-rc.0

7 months ago

1.1.1-rc.1

7 months ago

1.0.19

7 months ago

1.1.0

7 months ago

1.0.18

7 months ago

1.0.17

10 months ago

1.0.16

10 months ago

1.0.15

10 months ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.14-rc0

12 months ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.13-rc1

12 months ago

1.0.14

12 months ago

1.0.13

12 months ago

1.0.12

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5-rc.1

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

2 years ago

1.0.0

2 years ago