2022-03-16 12:15:22 +01:00
|
|
|
var MINIMAL;
|
2022-11-24 14:13:18 +01:00
|
|
|
var LANG;
|
|
|
|
var CAPTIONS_LANG;
|
2022-11-23 23:57:58 +01:00
|
|
|
var CUSTOM_CAPTIONS_LANG_OPTIONS;
|
2022-03-16 12:15:22 +01:00
|
|
|
var PREJOIN;
|
|
|
|
var VIDEO_MUTED;
|
|
|
|
var AUDIO_MUTED;
|
|
|
|
|
|
|
|
var SCREENSHARE_BUTTON;
|
|
|
|
var FULLSCREEN_BUTTON;
|
2022-06-01 18:15:44 +02:00
|
|
|
var ACTIVITIES_PANEL_BUTTON;
|
|
|
|
var RECORDING_BUTTON;
|
2023-02-17 17:39:14 +01:00
|
|
|
var BROADCASTING_BUTTON;
|
2022-03-16 12:15:22 +01:00
|
|
|
var CHAT_PANEL_BUTTON;
|
|
|
|
var DISPLAY_LOGO;
|
|
|
|
var DISPLAY_SESSION_NAME;
|
|
|
|
var DISPLAY_PARTICIPANT_NAME;
|
|
|
|
var DISPLAY_AUDIO_DETECTION;
|
|
|
|
var SETTINGS_BUTTON;
|
|
|
|
var LEAVE_BUTTON;
|
|
|
|
var PARTICIPANT_MUTE_BUTTON;
|
|
|
|
var PARTICIPANTS_PANEL_BUTTON;
|
2022-06-01 18:15:44 +02:00
|
|
|
var ACTIVITIES_RECORDING_ACTIVITY;
|
2023-02-17 17:39:14 +01:00
|
|
|
var ACTIVITIES_BROADCASTING_ACTIVITY;
|
2022-06-01 18:15:44 +02:00
|
|
|
var RECORDING_ERROR;
|
2023-02-17 17:39:14 +01:00
|
|
|
var BROADCASTING_ERROR;
|
2022-06-16 15:56:57 +02:00
|
|
|
var TOOLBAR_SETTINGS_BUTTON;
|
2022-07-06 13:46:42 +02:00
|
|
|
var CAPTIONS_BUTTON;
|
2022-03-16 12:15:22 +01:00
|
|
|
|
2022-07-14 09:38:08 +02:00
|
|
|
var SINGLE_TOKEN;
|
2022-03-16 12:15:22 +01:00
|
|
|
var SESSION_NAME;
|
|
|
|
|
2022-03-16 16:34:55 +01:00
|
|
|
var PARTICIPANT_NAME;
|
|
|
|
|
2022-11-24 18:12:40 +01:00
|
|
|
var OPENVIDU_SERVER_URL;
|
|
|
|
var OPENVIDU_SECRET;
|
|
|
|
|
2022-03-16 12:15:22 +01:00
|
|
|
$(document).ready(() => {
|
2022-11-23 23:57:58 +01:00
|
|
|
var url = new URL(window.location.href);
|
|
|
|
|
2022-12-23 16:17:04 +01:00
|
|
|
OPENVIDU_SERVER_URL = url.searchParams.get('OV_URL');
|
|
|
|
OPENVIDU_SECRET = url.searchParams.get('OV_SECRET');
|
2022-11-24 18:12:40 +01:00
|
|
|
|
2022-11-23 23:57:58 +01:00
|
|
|
SINGLE_TOKEN = url.searchParams.get('singleToken') === null ? false : url.searchParams.get('singleToken') === 'true';
|
|
|
|
|
|
|
|
// Directives
|
|
|
|
MINIMAL = url.searchParams.get('minimal') === null ? false : url.searchParams.get('minimal') === 'true';
|
|
|
|
LANG = url.searchParams.get('lang') || 'en';
|
|
|
|
CAPTIONS_LANG = url.searchParams.get('captionsLang') || 'en-US';
|
|
|
|
CUSTOM_CAPTIONS_LANG_OPTIONS =
|
|
|
|
url.searchParams.get('captionsLangOptions') === null ? false : url.searchParams.get('captionsLangOptions') === 'true';
|
|
|
|
PARTICIPANT_NAME = url.searchParams.get('participantName') || 'TEST_USER';
|
|
|
|
PREJOIN = url.searchParams.get('prejoin') === null ? true : url.searchParams.get('prejoin') === 'true';
|
|
|
|
VIDEO_MUTED = url.searchParams.get('videoMuted') === null ? false : url.searchParams.get('videoMuted') === 'true';
|
|
|
|
AUDIO_MUTED = url.searchParams.get('audioMuted') === null ? false : url.searchParams.get('audioMuted') === 'true';
|
|
|
|
SCREENSHARE_BUTTON = url.searchParams.get('screenshareBtn') === null ? true : url.searchParams.get('screenshareBtn') === 'true';
|
2022-12-23 16:17:04 +01:00
|
|
|
RECORDING_BUTTON =
|
|
|
|
url.searchParams.get('toolbarRecordingButton') === null ? true : url.searchParams.get('toolbarRecordingButton') === 'true';
|
2022-11-23 23:57:58 +01:00
|
|
|
FULLSCREEN_BUTTON = url.searchParams.get('fullscreenBtn') === null ? true : url.searchParams.get('fullscreenBtn') === 'true';
|
2023-02-17 17:39:14 +01:00
|
|
|
BROADCASTING_BUTTON =
|
2023-02-17 17:03:15 +01:00
|
|
|
url.searchParams.get('toolbarBroadcastingButton') === null ? true : url.searchParams.get('toolbarBroadcastingButton') === 'true';
|
2022-12-23 16:17:04 +01:00
|
|
|
|
2023-02-17 17:03:15 +01:00
|
|
|
if (url.searchParams.get('broadcastingError') !== null) {
|
2023-02-17 17:39:14 +01:00
|
|
|
BROADCASTING_ERROR = url.searchParams.get('broadcastingError');
|
2022-12-23 16:17:04 +01:00
|
|
|
}
|
|
|
|
|
2022-11-23 23:57:58 +01:00
|
|
|
TOOLBAR_SETTINGS_BUTTON =
|
|
|
|
url.searchParams.get('toolbarSettingsBtn') === null ? true : url.searchParams.get('toolbarSettingsBtn') === 'true';
|
|
|
|
CAPTIONS_BUTTON = url.searchParams.get('toolbarCaptionsBtn') === null ? true : url.searchParams.get('toolbarCaptionsBtn') === 'true';
|
|
|
|
|
|
|
|
LEAVE_BUTTON = url.searchParams.get('leaveBtn') === null ? true : url.searchParams.get('leaveBtn') === 'true';
|
|
|
|
ACTIVITIES_PANEL_BUTTON =
|
|
|
|
url.searchParams.get('activitiesPanelBtn') === null ? true : url.searchParams.get('activitiesPanelBtn') === 'true';
|
|
|
|
CHAT_PANEL_BUTTON = url.searchParams.get('chatPanelBtn') === null ? true : url.searchParams.get('chatPanelBtn') === 'true';
|
|
|
|
PARTICIPANTS_PANEL_BUTTON =
|
|
|
|
url.searchParams.get('participantsPanelBtn') === null ? true : url.searchParams.get('participantsPanelBtn') === 'true';
|
2023-02-17 17:39:14 +01:00
|
|
|
ACTIVITIES_BROADCASTING_ACTIVITY =
|
2023-02-17 17:03:15 +01:00
|
|
|
url.searchParams.get('activitiesPanelBroadcastingActivity') === null
|
2022-12-23 16:17:04 +01:00
|
|
|
? true
|
2023-02-17 17:03:15 +01:00
|
|
|
: url.searchParams.get('activitiesPanelBroadcastingActivity') === 'true';
|
2022-11-23 23:57:58 +01:00
|
|
|
ACTIVITIES_RECORDING_ACTIVITY =
|
|
|
|
url.searchParams.get('activitiesPanelRecordingActivity') === null
|
|
|
|
? true
|
|
|
|
: url.searchParams.get('activitiesPanelRecordingActivity') === 'true';
|
|
|
|
if (url.searchParams.get('recordingError') !== null) {
|
|
|
|
RECORDING_ERROR = url.searchParams.get('recordingError');
|
|
|
|
}
|
|
|
|
|
|
|
|
DISPLAY_LOGO = url.searchParams.get('displayLogo') === null ? true : url.searchParams.get('displayLogo') === 'true';
|
|
|
|
DISPLAY_SESSION_NAME =
|
|
|
|
url.searchParams.get('displaySessionName') === null ? true : url.searchParams.get('displaySessionName') === 'true';
|
|
|
|
DISPLAY_PARTICIPANT_NAME =
|
|
|
|
url.searchParams.get('displayParticipantName') === null ? true : url.searchParams.get('displayParticipantName') === 'true';
|
|
|
|
DISPLAY_AUDIO_DETECTION =
|
|
|
|
url.searchParams.get('displayAudioDetection') === null ? true : url.searchParams.get('displayAudioDetection') === 'true';
|
|
|
|
SETTINGS_BUTTON = url.searchParams.get('settingsBtn') === null ? true : url.searchParams.get('settingsBtn') === 'true';
|
|
|
|
PARTICIPANT_MUTE_BUTTON =
|
|
|
|
url.searchParams.get('participantMuteBtn') === null ? true : url.searchParams.get('participantMuteBtn') === 'true';
|
|
|
|
|
|
|
|
SESSION_NAME =
|
|
|
|
url.searchParams.get('sessionName') === null ? `E2ESession${Math.floor(Date.now())}` : url.searchParams.get('sessionName');
|
|
|
|
|
|
|
|
var webComponent = document.querySelector('openvidu-webcomponent');
|
|
|
|
|
|
|
|
webComponent.addEventListener('onJoinButtonClicked', (event) => appendElement('onJoinButtonClicked'));
|
|
|
|
webComponent.addEventListener('onToolbarLeaveButtonClicked', (event) => appendElement('onToolbarLeaveButtonClicked'));
|
|
|
|
webComponent.addEventListener('onToolbarCameraButtonClicked', (event) => appendElement('onToolbarCameraButtonClicked'));
|
|
|
|
webComponent.addEventListener('onToolbarMicrophoneButtonClicked', (event) => appendElement('onToolbarMicrophoneButtonClicked'));
|
|
|
|
webComponent.addEventListener('onToolbarScreenshareButtonClicked', (event) => appendElement('onToolbarScreenshareButtonClicked'));
|
|
|
|
webComponent.addEventListener('onToolbarParticipantsPanelButtonClicked', (event) =>
|
|
|
|
appendElement('onToolbarParticipantsPanelButtonClicked')
|
|
|
|
);
|
|
|
|
webComponent.addEventListener('onToolbarChatPanelButtonClicked', (event) => appendElement('onToolbarChatPanelButtonClicked'));
|
|
|
|
webComponent.addEventListener('onToolbarActivitiesPanelButtonClicked', (event) =>
|
|
|
|
appendElement('onToolbarActivitiesPanelButtonClicked')
|
|
|
|
);
|
|
|
|
webComponent.addEventListener('onToolbarFullscreenButtonClicked', (event) => appendElement('onToolbarFullscreenButtonClicked'));
|
|
|
|
|
|
|
|
webComponent.addEventListener('onToolbarStartRecordingClicked', async (event) => {
|
|
|
|
appendElement('onToolbarStartRecordingClicked');
|
|
|
|
// Can't test the recording
|
|
|
|
// RECORDING_ID = await startRecording(SESSION_NAME);
|
|
|
|
});
|
|
|
|
// Can't test the recording
|
|
|
|
// webComponent.addEventListener('onToolbarStopRecordingClicked', async (event) => {
|
|
|
|
// appendElement('onToolbarStopRecordingClicked');
|
|
|
|
// await stopRecording(RECORDING_ID);
|
|
|
|
// });
|
|
|
|
|
2023-02-17 17:03:15 +01:00
|
|
|
webComponent.addEventListener('onToolbarStopBroadcastingClicked', async (event) => {
|
|
|
|
appendElement('onToolbarStopBroadcastingClicked');
|
2022-12-23 16:17:04 +01:00
|
|
|
});
|
|
|
|
|
2022-11-23 23:57:58 +01:00
|
|
|
webComponent.addEventListener('onActivitiesPanelStartRecordingClicked', async (event) => {
|
|
|
|
appendElement('onActivitiesPanelStartRecordingClicked');
|
|
|
|
// RECORDING_ID = await startRecording(SESSION_NAME);
|
|
|
|
});
|
|
|
|
|
|
|
|
// Can't test the recording
|
|
|
|
// webComponent.addEventListener('onActivitiesPanelStopRecordingClicked', async (event) => {
|
|
|
|
// appendElement('onActivitiesPanelStopRecordingClicked');
|
|
|
|
// await stopRecording(RECORDING_ID);
|
|
|
|
// });
|
|
|
|
|
2023-02-17 17:23:13 +01:00
|
|
|
webComponent.addEventListener('onActivitiesPanelDeleteRecordingClicked', (event) => {
|
2023-02-17 15:12:10 +01:00
|
|
|
appendElement('onActivitiesPanelDeleteRecordingClicked');
|
2023-02-17 17:23:13 +01:00
|
|
|
});
|
2022-11-23 23:57:58 +01:00
|
|
|
|
2023-02-17 17:03:15 +01:00
|
|
|
webComponent.addEventListener('onActivitiesPanelStartBroadcastingClicked', async (event) => {
|
|
|
|
appendElement('onActivitiesPanelStartBroadcastingClicked');
|
2022-12-23 16:17:04 +01:00
|
|
|
});
|
|
|
|
|
2023-02-17 17:03:15 +01:00
|
|
|
webComponent.addEventListener('onActivitiesPanelStopBroadcastingClicked', async (event) => {
|
|
|
|
appendElement('onActivitiesPanelStopBroadcastingClicked');
|
2022-12-23 16:17:04 +01:00
|
|
|
});
|
|
|
|
|
2022-11-23 23:57:58 +01:00
|
|
|
webComponent.addEventListener('onSessionCreated', (event) => {
|
|
|
|
var session = event.detail;
|
|
|
|
appendElement('onSessionCreated');
|
|
|
|
|
|
|
|
// You can see the session documentation here
|
2022-12-14 13:08:30 +01:00
|
|
|
// https://docs.openvidu.io/en/stable/api/openvidu-browser/classes/Session.html
|
2022-11-23 23:57:58 +01:00
|
|
|
|
|
|
|
session.on('connectionCreated', (e) => {
|
|
|
|
var user = JSON.parse(e.connection.data).clientData;
|
|
|
|
appendElement(`${user}-connectionCreated`);
|
|
|
|
});
|
|
|
|
|
|
|
|
session.on('sessionDisconnected', (e) => {
|
|
|
|
var user = JSON.parse(e.target.connection.data).clientData;
|
|
|
|
appendElement(user + '-sessionDisconnected');
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
webComponent.addEventListener('onParticipantCreated', (event) => {
|
|
|
|
var participant = event.detail;
|
|
|
|
appendElement(`${participant.nickname}-onParticipantCreated`);
|
|
|
|
});
|
|
|
|
|
|
|
|
// webComponent.addEventListener('error', (event) => {
|
|
|
|
// console.log('Error event', event.detail);
|
|
|
|
// });
|
|
|
|
|
|
|
|
joinSession(SESSION_NAME, PARTICIPANT_NAME);
|
2022-03-16 12:15:22 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
function appendElement(id) {
|
2022-11-23 23:57:58 +01:00
|
|
|
var eventsDiv = document.getElementById('events');
|
|
|
|
var element = document.createElement('div');
|
|
|
|
element.setAttribute('id', id);
|
|
|
|
element.setAttribute('style', 'height: 1px;');
|
|
|
|
eventsDiv.appendChild(element);
|
2022-03-16 12:15:22 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
async function joinSession(sessionName, participantName) {
|
2022-11-23 23:57:58 +01:00
|
|
|
var webComponent = document.querySelector('openvidu-webcomponent');
|
|
|
|
var tokens;
|
|
|
|
if (SINGLE_TOKEN) {
|
|
|
|
tokens = await getToken(sessionName);
|
|
|
|
} else {
|
|
|
|
tokens = { webcam: await getToken(sessionName), screen: await getToken(sessionName) };
|
|
|
|
}
|
|
|
|
|
|
|
|
webComponent.minimal = MINIMAL;
|
|
|
|
webComponent.lang = LANG;
|
|
|
|
webComponent.captionsLang = CAPTIONS_LANG;
|
|
|
|
if (CUSTOM_CAPTIONS_LANG_OPTIONS) {
|
2023-02-17 17:23:13 +01:00
|
|
|
webComponent.captionsLangOptions = [
|
|
|
|
{ name: 'Esp', lang: 'es-ES' },
|
|
|
|
{ name: 'Eng', lang: 'en-US' }
|
|
|
|
];
|
2022-11-23 23:57:58 +01:00
|
|
|
}
|
|
|
|
webComponent.prejoin = PREJOIN;
|
|
|
|
webComponent.videoMuted = VIDEO_MUTED;
|
|
|
|
webComponent.audioMuted = AUDIO_MUTED;
|
|
|
|
webComponent.toolbarScreenshareButton = SCREENSHARE_BUTTON;
|
|
|
|
|
|
|
|
webComponent.toolbarFullscreenButton = FULLSCREEN_BUTTON;
|
|
|
|
webComponent.toolbarSettingsButton = TOOLBAR_SETTINGS_BUTTON;
|
|
|
|
webComponent.toolbarCaptionsButton = CAPTIONS_BUTTON;
|
2022-03-16 12:15:22 +01:00
|
|
|
webComponent.toolbarLeaveButton = LEAVE_BUTTON;
|
2022-11-23 23:57:58 +01:00
|
|
|
webComponent.toolbarRecordingButton = RECORDING_BUTTON;
|
2023-02-17 17:39:14 +01:00
|
|
|
webComponent.toolbarBroadcastingButton = BROADCASTING_BUTTON;
|
2022-11-23 23:57:58 +01:00
|
|
|
webComponent.toolbarActivitiesPanelButton = ACTIVITIES_PANEL_BUTTON;
|
2022-03-16 12:15:22 +01:00
|
|
|
webComponent.toolbarChatPanelButton = CHAT_PANEL_BUTTON;
|
|
|
|
webComponent.toolbarParticipantsPanelButton = PARTICIPANTS_PANEL_BUTTON;
|
|
|
|
webComponent.toolbarDisplayLogo = DISPLAY_LOGO;
|
|
|
|
webComponent.toolbarDisplaySessionName = DISPLAY_SESSION_NAME;
|
|
|
|
webComponent.streamDisplayParticipantName = DISPLAY_PARTICIPANT_NAME;
|
|
|
|
webComponent.streamDisplayAudioDetection = DISPLAY_AUDIO_DETECTION;
|
|
|
|
webComponent.streamSettingsButton = SETTINGS_BUTTON;
|
|
|
|
webComponent.participantPanelItemMuteButton = PARTICIPANT_MUTE_BUTTON;
|
|
|
|
|
2022-11-23 23:57:58 +01:00
|
|
|
webComponent.recordingActivityRecordingsList = [{ status: 'ready' }];
|
|
|
|
webComponent.activitiesPanelRecordingActivity = ACTIVITIES_RECORDING_ACTIVITY;
|
2023-02-17 17:39:14 +01:00
|
|
|
webComponent.activitiesPanelBroadcastingActivity = ACTIVITIES_BROADCASTING_ACTIVITY;
|
2022-11-23 23:57:58 +01:00
|
|
|
webComponent.recordingActivityRecordingError = RECORDING_ERROR;
|
2022-06-01 18:15:44 +02:00
|
|
|
|
2023-02-17 17:39:14 +01:00
|
|
|
webComponent.broadcastingActivityBroadcastingError = { message: BROADCASTING_ERROR, broadcastAvailable: true };
|
2022-12-23 16:17:04 +01:00
|
|
|
|
2022-11-23 23:57:58 +01:00
|
|
|
webComponent.participantName = participantName;
|
|
|
|
webComponent.tokens = tokens;
|
2022-03-16 12:15:22 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* --------------------------
|
|
|
|
* SERVER-SIDE RESPONSIBILITY
|
|
|
|
* --------------------------
|
|
|
|
* These methods retrieve the mandatory user token from OpenVidu Server.
|
|
|
|
* This behavior MUST BE IN YOUR SERVER-SIDE IN PRODUCTION (by using
|
|
|
|
* the API REST, openvidu-java-client or openvidu-node-client):
|
|
|
|
* 1) Initialize a session in OpenVidu Server (POST /api/sessions)
|
|
|
|
* 2) Generate a token in OpenVidu Server (POST /api/tokens)
|
|
|
|
* 3) Configure OpenVidu Web Component in your client side with the token
|
|
|
|
*/
|
|
|
|
|
|
|
|
function getToken(sessionName) {
|
2022-11-23 23:57:58 +01:00
|
|
|
return createSession(sessionName).then((sessionId) => createToken(sessionId));
|
2022-03-16 12:15:22 +01:00
|
|
|
}
|
|
|
|
|
2022-11-23 23:57:58 +01:00
|
|
|
function createSession(sessionName) {
|
|
|
|
// See https://docs.openvidu.io/en/stable/reference-docs/REST-API/#post-apisessions
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
$.ajax({
|
|
|
|
type: 'POST',
|
|
|
|
url: OPENVIDU_SERVER_URL + '/openvidu/api/sessions',
|
|
|
|
data: JSON.stringify({ customSessionId: sessionName }),
|
|
|
|
headers: {
|
2022-11-24 18:12:40 +01:00
|
|
|
Authorization: 'Basic ' + btoa('OPENVIDUAPP:' + OPENVIDU_SECRET),
|
2022-11-23 23:57:58 +01:00
|
|
|
'Content-Type': 'application/json'
|
|
|
|
},
|
|
|
|
success: (response) => resolve(response.id),
|
|
|
|
error: (error) => {
|
|
|
|
if (error.status === 409) {
|
|
|
|
resolve(sessionName);
|
|
|
|
} else {
|
|
|
|
console.warn('No connection to OpenVidu Server. This may be a certificate error at ' + OPENVIDU_SERVER_URL);
|
|
|
|
if (
|
|
|
|
window.confirm(
|
|
|
|
'No connection to OpenVidu Server. This may be a certificate error at "' +
|
|
|
|
OPENVIDU_SERVER_URL +
|
|
|
|
'"\n\nClick OK to navigate and accept it. ' +
|
|
|
|
'If no certificate warning is shown, then check that your OpenVidu Server is up and running at "' +
|
|
|
|
OPENVIDU_SERVER_URL +
|
|
|
|
'"'
|
|
|
|
)
|
|
|
|
) {
|
|
|
|
location.assign(OPENVIDU_SERVER_URL + '/openvidu/accept-certificate');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
2022-03-16 12:15:22 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
function createToken(sessionId) {
|
2022-11-23 23:57:58 +01:00
|
|
|
// See https://docs.openvidu.io/en/stable/reference-docs/REST-API/#post-apitokens
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
$.ajax({
|
|
|
|
type: 'POST',
|
|
|
|
url: `${OPENVIDU_SERVER_URL}/openvidu/api/sessions/${sessionId}/connection`,
|
|
|
|
data: JSON.stringify({ session: sessionId, role: 'MODERATOR' }),
|
|
|
|
headers: {
|
2022-11-24 18:12:40 +01:00
|
|
|
Authorization: 'Basic ' + btoa('OPENVIDUAPP:' + OPENVIDU_SECRET),
|
2022-11-23 23:57:58 +01:00
|
|
|
'Content-Type': 'application/json'
|
|
|
|
},
|
|
|
|
success: (response) => {
|
|
|
|
resolve(response.token);
|
|
|
|
},
|
|
|
|
error: (error) => reject(error)
|
|
|
|
});
|
|
|
|
});
|
2022-03-16 12:15:22 +01:00
|
|
|
}
|
2022-06-01 18:15:44 +02:00
|
|
|
|
2022-06-02 17:05:41 +02:00
|
|
|
// function startRecording(sessionId) {
|
|
|
|
// return new Promise((resolve, reject) => {
|
|
|
|
// $.ajax({
|
|
|
|
// type: 'POST',
|
|
|
|
// url: `${OPENVIDU_SERVER_URL}/openvidu/api/recordings/start`,
|
|
|
|
// data: JSON.stringify({ session: sessionId }),
|
|
|
|
// headers: {
|
|
|
|
// Authorization: 'Basic ' + btoa('OPENVIDUAPP:' + OPENVIDU_SERVER_SECRET),
|
|
|
|
// 'Content-Type': 'application/json',
|
|
|
|
// },
|
|
|
|
// success: (response) => {console.log(response); resolve(response.id)},
|
|
|
|
// error: (error) => {
|
|
|
|
// reject(error)
|
|
|
|
// },
|
|
|
|
// });
|
|
|
|
// });
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// function stopRecording(recordingId) {
|
|
|
|
// return new Promise((resolve, reject) => {
|
|
|
|
// $.ajax({
|
|
|
|
// type: 'POST',
|
|
|
|
// url: `${OPENVIDU_SERVER_URL}/openvidu/api/recordings/stop/${recordingId}`,
|
|
|
|
// headers: {
|
|
|
|
// Authorization: 'Basic ' + btoa('OPENVIDUAPP:' + OPENVIDU_SERVER_SECRET),
|
|
|
|
// 'Content-Type': 'application/json',
|
|
|
|
// },
|
|
|
|
// success: (response) => resolve(response),
|
|
|
|
// error: (error) => {
|
|
|
|
// reject(error)
|
|
|
|
// },
|
|
|
|
// });
|
|
|
|
// });
|
|
|
|
// }
|