Install ConnleVideo via NPM:
npm install connle-video-sdk
Or use your preferred package manager, such as:
yarn add connle-video-sdk
In your JavaScript/TypeScript file:
import ConnleVideo from 'connle-video-sdk';
const serverUrl = 'https://your-server.com';
const token = 'YOUR_JWT_TOKEN';
const mediaUrl = 'https://your-media-url'; // Optional. Uses default if not provided.
// Create an instance of ConnleVideo
const connleai = new ConnleVideo(serverUrl, token, mediaUrl);
// Establish the connection
connleai.connect();
Fires after a successful connection.
connleai.onConnect((data) => {
console.log('Connected:', data);
});
Triggered on disconnection.
connleai.onDisconnect((data) => {
console.log('Disconnected:', data);
});
Fires when another user initiates a call.
connleai.onIncomingCall((data) => {
console.log('Incoming call:', data);
});
Triggered when the call is answered.
connleai.onAnswered((data) => {
console.log('Call answered:', data);
});
Fires when the call ends.
connleai.onEnded((data) => {
console.log('Call ended:', data);
});
Fires when a chat or custom message is received.
connleai.onMessage((data) => {
console.log('Received message:', data);
});
Handles general status updates.
connleai.onStatus((data) => {
console.log('Status update:', data);
});
Triggered on error events.
connleai.onError((error) => {
console.error('ConnleVideo error:', error);
});
connleai.call('bob123', { audio: true, video: true }, (ack) => {
console.log('Call initiated:', ack);
});
connleai.onIncomingCall((callData) => {
connleai.answer((ack) => {
console.log('Call answered:', ack);
});
});
connleai.reject(callData.call_id, (ack) => {
console.log('Call rejected:', ack);
});
connleai.hangup();
// Microphone control
connleai.mute();
connleai.unmute();
connleai.toggleAudio();
// Camera control
connleai.pause();
connleai.play();
connleai.toggleVideo();
connleai.shareScreen();
connleai.stopScreenShare();
connleai.toggleScreenShare();
connleai.sendMessage({ text: 'Hello world' }, (ack) => {
console.log('Message sent:', ack);
});
connleai.onMessage((data) => {
console.log('Received message:', data);
});
connleai.on('eventName', (data) => {
console.log('Received event:', data);
});
Event Name | Description |
---|---|
connected |
Session successfully connected. |
disconnected |
Session disconnected. |
userConnected |
Remote user joined the call. |
userDisconnected |
Remote user left the call. |
muted / unmuted |
Microphone muted or unmuted. |
paused / play |
Video paused or resumed. |
mediaStarted / mediaStopped |
Media stream started or stopped. |
streamAdded / streamRemoved |
Remote media track added/removed. |
localStreamAdded / localStreamRemoved |
Local track added or removed. |
error |
Error encountered (permissions, etc.). |
import ConnleVideo from 'connle-video-sdk';
function initCall() {
const connleai = new ConnleVideo(
'https://your-server.com',
'YOUR_JWT_TOKEN',
'https://your-media-url'
);
connleai.connect();
connleai.onIncomingCall((callData) => {
connleai.answer();
});
document.getElementById('callBtn').onclick = () => {
connleai.call('anotherUser', { audio: true, video: true }, (ack) => {
console.log('Call started:', ack);
});
};
document.getElementById('hangupBtn').onclick = () => {
connleai.hangup();
};
connleai.on('error', (err) => {
console.error('ConnleAI Error:', err);
});
}
initCall();
- Permissions: Ensure camera/mic access is granted.
- Screen Sharing: Users must approve screen capture requests.
- Autoplay: Some browsers require user interaction before audio/video playback begins.
- Token Expiry: Always use fresh tokens if you experience reconnection issues.