openvidu/openvidu-components-angular/src/app/openvidu-call/call.component.ts

119 lines
2.9 KiB
TypeScript
Raw Normal View History

2022-03-10 15:41:51 +01:00
import { Component, OnInit } from '@angular/core';
2022-06-22 12:42:02 +02:00
import { RecordingInfo, TokenModel, RecordingService } from 'openvidu-angular';
import { RestService } from '../services/rest.service';
2022-04-28 13:09:42 +02:00
@Component({
selector: 'app-call',
templateUrl: './call.component.html',
styleUrls: ['./call.component.scss']
})
export class CallComponent implements OnInit {
sessionId = 'daily-call';
2022-04-28 13:09:42 +02:00
tokens: TokenModel;
joinSessionClicked: boolean = false;
closeClicked: boolean = false;
isSessionAlive: boolean = false;
2022-06-22 12:42:02 +02:00
recordingList: RecordingInfo[] = [];
recordingError: any;
constructor(private restService: RestService, private recordingService: RecordingService) { }
2022-03-10 15:41:51 +01:00
async ngOnInit() {
2022-06-22 12:42:02 +02:00
const response = await this.restService.getTokensFromBackend(this.sessionId);
this.recordingList = response.recordings;
2022-03-10 15:41:51 +01:00
this.tokens = {
2022-06-22 12:42:02 +02:00
webcam: response.cameraToken,
screen: response.screenToken
2022-03-10 15:41:51 +01:00
};
2022-06-22 12:42:02 +02:00
console.log(this.tokens);
2022-04-28 13:09:42 +02:00
}
2022-04-28 13:09:42 +02:00
onJoinClicked() {
console.warn('VC JOIN BUTTON CLICKED');
}
2022-03-10 15:41:51 +01:00
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');
}
2022-03-10 15:41:51 +01:00
onToolbarLeaveButtonClicked() {
this.isSessionAlive = false;
console.log('VC LEAVE BUTTON CLICKED');
}
2022-03-10 15:41:51 +01:00
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');
}
2022-03-10 15:41:51 +01:00
onLeaveButtonClicked() {
this.isSessionAlive = false;
2022-03-10 15:41:51 +01:00
console.log('TOOLBAR LEAVE CLICKED');
}
2022-06-22 12:42:02 +02:00
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;
}
}
}