import { Component, OnInit } from '@angular/core'; import { RecordingInfo, TokenModel, RecordingService } from 'openvidu-angular'; import { RestService } from '../services/rest.service'; @Component({ selector: 'app-call', templateUrl: './call.component.html', styleUrls: ['./call.component.scss'] }) export class CallComponent implements OnInit { value = true; sessionId = 'daily-call'; OPENVIDU_URL = 'https://localhost:4443'; OPENVIDU_SECRET = 'MY_SECRET'; tokens: TokenModel; joinSessionClicked: boolean = false; closeClicked: boolean = false; isSessionAlive: boolean = false; recordingList: RecordingInfo[] = []; recordingError: any; constructor(private restService: RestService, private recordingService: RecordingService) {} async ngOnInit() { // this.tokens = { // webcam: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET), // screen: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET) // }; // console.log(this.tokens) const response = await this.restService.getTokensFromBackend(this.sessionId); this.recordingList = response.recordings; this.tokens = { webcam: response.cameraToken, screen: response.screenToken }; console.log(this.tokens); } onJoinClicked() { console.warn('VC JOIN BUTTON CLICKED'); } onToolbarCameraButtonClicked() { console.warn('VC camera CLICKED'); } onToolbarMicrophoneButtonClicked() { console.warn('VC microphone CLICKED'); } onToolbarScreenshareButtonClicked() { console.warn('VC screenshare CLICKED'); } onToolbarFullscreenButtonClicked() { console.warn('VC fullscreen CLICKED'); } onToolbarParticipantsPanelButtonClicked() { console.warn('VC participants CLICKED'); } onToolbarChatPanelButtonClicked() { console.warn('VC chat CLICKED'); } onToolbarLeaveButtonClicked() { this.isSessionAlive = false; console.log('VC LEAVE BUTTON CLICKED'); } onCameraButtonClicked() { console.warn('TOOLBAR camera CLICKED'); } onMicrophoneButtonClicked() { console.warn('TOOLBAR microphone CLICKED'); } onScreenshareButtonClicked() { console.warn('TOOLBAR screenshare CLICKED'); } onFullscreenButtonClicked() { console.warn('TOOLBAR fullscreen CLICKED'); } onParticipantsPanelButtonClicked() { console.warn('TOOLBAR participants CLICKED'); } onChatPanelButtonClicked() { console.warn('TOOLBAR chat CLICKED'); } onLeaveButtonClicked() { this.isSessionAlive = false; console.log('TOOLBAR LEAVE CLICKED'); } async onStartRecordingClicked() { console.warn('START RECORDING CLICKED'); try { await this.restService.startRecording(this.sessionId); } catch (error) { this.recordingError = error; } } async onStopRecordingClicked() { console.warn('STOP RECORDING CLICKED'); try { // await this.restService.startRecording(this.sessionId); this.recordingList = await this.restService.stopRecording(this.sessionId); console.log('RECORDING LIST ', this.recordingList); } catch (error) { this.recordingError = error; } } async onDeleteRecordingClicked(recordingId: string) { console.warn('DELETE RECORDING CLICKED'); try { this.recordingList = await this.restService.deleteRecording(recordingId); } catch (error) { this.recordingError = error; } } }