0.0.3 • Published 5 months ago

@dytesdk/twilio-shim v0.0.3

Weekly downloads
-
License
UNLICENSED
Repository
-
Last release
5 months ago

Table of Contents

About The Project

This package @dytesdk/twilio-shim is a wrapper over the Dyte SDK with a Twilio Video compatible external API. It is a drop-in replacement for Twilio Video.js, and supports most of the methods and events that are present in the Twilio Video SDK.

Built With

Getting Started

You can install the @dytesdk/twilio-shim from the NPM Registry using the npm install command.

npm install @dytesdk/twilio-shim

Usage

The @dytesdk/twilio-shim shares the same API as the Twilio Video SDK. You can use most of the methods that are supported by it. Here's a compatibility specification that describes the methods from twilio-video that are supported by this @dytesdk/twilio-shim package.

Here are a few examples:

const { connect } = require('@dytesdk/twilio-shim');

const authToken = '<AUTH_TOKEN_FROM_DYTE_API>';
const room = await connect(authToken, {audio: false, video: true});
console.log(`Successfully joined a Room: ${room.name}`);
console.log(room);
room.on('participantConnected', participant => {
    console.log(`A remote Participant connected: ${participant}`);
});
const { connect } = require('@dytesdk/twilio-shim');

const authToken = '<AUTH_TOKEN_FROM_DYTE_API>';
const room = await connect(authToken, {audio: false, video: false});
room.on('participantConnected', participant => {
    console.log(`Participant "${participant.identity}" connected`);

    participant.tracks.forEach(publication => {
        if (publication.isSubscribed) {
            const track = publication.track;
            document.getElementById('remote-media-div').appendChild(track.attach());
        }
    });

    participant.on('trackSubscribed', track => {
        console.log('Subscribed to track', track);
        const element = track.attach();
        console.log(element);
        document.getElementById('remote-media-div').appendChild(element);
    });
});
const { connect } = require('@dytesdk/twilio-shim');

const authToken = '<AUTH_TOKEN_FROM_DYTE_API>';
const room = await connect(authToken, {audio: true, video: true});

room.localParticipant.audioTracks.forEach(publication => {
    publication.track.disable();
});

room.localParticipant.videoTracks.forEach(publication => {
    publication.track.disable();
});


// Enable audio and video tracks after 5 seconds
setTimeout(() => {
    room.localParticipant.audioTracks.forEach(publication => {
        publication.track.enable();
    });

    room.localParticipant.videoTracks.forEach(publication => {
        publication.track.enable();
    });
}, 5000);

About

twilio-shim is created & maintained by Dyte, Inc. You can find us on Twitter - @dyte_io or write to us at dev [at] dyte.io.

The names and logos for Dyte are trademarks of Dyte, Inc.

We love open source software! See our other projects and our products.

0.0.3

5 months ago

0.0.2

1 year ago

0.0.1

1 year ago