new splitAgent(onEvents, domElements, options)
A SplitAgent Usecase is started
Parameters:
| Name | Type | Description |
|---|---|---|
onEvents |
object | Event handlers: onDestroyed, onError, onJoined, onDataReceived, onAcceptedVideo |
domElements |
object | DOM elements: client, agent, screenAgent |
options |
object | Available options: dataChannel, session, stream |
- Source:
Returns:
SplitAgent methods: getLicense, sendData, startRecording, startScreensharing, stopRecording, stopScreensharing, toggleVideo
- Type
- Promise
Example
var onEvents = {
onDestroyed: function() {
// Destroyed
},
onError: function(cause) {
// Error
},
onJoined: function(screenRoom) {
// Joined
},
onDataReceived: function(type, data, filename) {
// Data received
if(type === 'application/x-chat') { }
if(type === 'text/plain') { }
if(type === 'application/pdf') { }
if(type === 'application/zip') { }
if(type === 'application/x-rar') { }
if(type === 'image/jpeg') {}
if(type === 'image/png') {}
if(type === 'application/x-docx') {}
if(type === 'application/x-pptx') {}
if(type === 'application/x-xlsx') {}
if(type === 'application/vnd.oasis.opendocument.text') {}
},
onAcceptedVideo: function() {
// Accepted Video
}
};
var domElements = {
client: document.getElementById('clientvideo'),
agent: document.getElementById('agentvideo'),
screenAgent: document.getElementById('screen')
};
var options = {
dataChannel: {
dataEnabled: true,
allowedTypes: ['application/x-chat', 'image/jpeg', 'image/png', 'application/pdf'],
maxSize: 5 // In MB
},
session: {
agentName: 'Anna',
sessionId: 6655
},
stream: {
aDeviceId: null,
vDeviceId: null
}
};
usecases.splitAgent(onEvents, domElements, options)
.then(function(action) {
// Use Case has been atacched succesfully
...
})
.catch(function(cause) {
// Error attaching the Use Case
console.log("Error Attach " + cause );
})
Methods
-
<inner> closeUsecase()
-
Close the current UseCase. It's recommended combine with disconnect method
- Source:
Returns:
- Type
- nothing
Example
action.closeUsecase(); myVideoApp.disconnect(); // Recommended
-
<inner> getLicense()
-
The VideoGateway is requested about the features of the contracted license
- Source:
Returns:
License Information (Screensharing, Livechat and VideoRecording )
- Type
- Object
Example
var myLicense = action.getLicense(); console.log(myLicense);
-
<inner> sendData(type, data, cOk, cKo, (Optional))
-
Sends a message (Chat or File) through the DataChannel
Parameters:
Name Type Description typestring MIME Type (e.g: 'application/x-chat', 'text/plain', 'application/pdf', 'application/zip', 'application/x-rar', 'image/jpeg', 'image/png', 'application/x-docx', 'application/x-pptx', 'application/x-xlsx', 'application/vnd.oasis.opendocument.text')
datastring Data Content (base64 encoding)
cOkfunction Callback success function
cKofunction Callback failed function
(Optional)string filename File Name (e.g: file.zip)
- Source:
Returns:
- Type
- nothing
Example
action.sendData('application/x-chat', 'Hello Mike!', function(cOk) { // Success }, function(error) { // Error console.log(error); } ) -
<inner> startRecording(recordPrefix)
-
The Agent sends a request to start recording the session
Parameters:
Name Type Description recordPrefixstring Prefix of records: e.g: 'default'
- Source:
Returns:
- Type
- nothing
Example
action.startRecording();
-
<inner> startScreensharing(screenId, cOk, cKo)
-
The Agent sends a request to start Screensharing
Parameters:
Name Type Description screenIdinteger Screen Id
cOkfunction Callback Ok
cKofunction Callback Error
- Source:
Returns:
- Type
- nothing
Example
action.startScreensharing(1234, function() { // Success }, function(cause) { // Error }) -
<inner> stopRecording()
-
The Agent sends a request to stop recording the session
- Source:
Returns:
- Type
- nothing
Example
action.stopRecording();
-
<inner> stopScreensharing(cOk, cKo)
-
The Agent sends a request to stop Screensharing
Parameters:
Name Type Description cOkfunction Callback Ok
cKofunction Callback Error
- Source:
Returns:
- Type
- nothing
Example
action.stopScreensharing(function() { // Success }, function(cause) { // Error }) -
<inner> toggleVideo()
-
Toggle local Video stream (Mute/Unmute)
- Source:
Returns:
Is video muted?
- Type
- boolean
Example
action.toggleVideo(); // true or false