Installation
To install the OutRival Voice Call SDK via npm, run the following command:
npm install @outrival/voice-call
Usage
Import the OutRival Voice SDK into your project:
import VoiceCall from "@outrival/voice-call";
Create a new instance of the OutRival Voice Call SDK using your public key or token:
const voiceCall = new VoiceCall({
publicKey: "YOUR PUBLIC KEY",
token: "TOKEN GENERATED BY API",
});
Voice call start
Initiate the call with a companion:
voiceCall.start({
companionId: string;
userId: string;
variables: Record<string, any>;
metadata: Record<string, any>;
});
After initiating the call, microphone permissions will be requested. Once granted, the client will be able to interact with their companion.
Voice call stop
To stop the call with a companion, use the following method:
Microphone mute
To mute\unmute the microphone use the following method:
voiceCall.mute();
voiceCall.unmute();
voiceCall.isMuted();
Events
The OutRival Voice Call SDK provides a set of events that you can listen to:
voiceCall.on('speech-start', () => {
console.log('Speech has started');
});
voiceCall.on('speech-end', () => {
console.log('Speech has ended');
});
voiceCall.on('call-start', () => {
console.log('Call has started');
});
voiceCall.on('call-end', () => {
console.log('Call has stopped');
});
voiceCall.on('volume-level', (volume) => {
console.log(`Companion volume level: ${volume}`);
});
voiceCall.on('transcript', (message) => {
console.log(`${message.role === "user" ? "User" : "Companion"} transcript:`);
console.log(message.transcript);
});
voiceCall.on('function-call', (function) => {
console.log(`Function ${function.name} was called with arguments ${function.arguments}`);
});
voiceCall.on('error', (e) => {
console.error(e);
});
Listening to these events will help you track the call progress and user interaction with the companion.