openvidu-components: Emitted event when broadcasting button is clicked

pull/828/head
Carlos Santos 2023-12-11 13:01:50 +01:00
parent a830033388
commit 44eb9e9fe0
7 changed files with 24 additions and 1 deletions

View File

@ -188,6 +188,11 @@ export class ToolbarComponent implements OnInit, OnDestroy, AfterViewInit {
/** /**
* Provides event notifications that fire when start broadcasting button has been clicked. * Provides event notifications that fire when start broadcasting button has been clicked.
*/ */
@Output() onStartBroadcastingClicked: EventEmitter<void> = new EventEmitter<void>();
/**
* Provides event notifications that fire when stop broadcasting button has been clicked.
*/
@Output() onStopBroadcastingClicked: EventEmitter<void> = new EventEmitter<void>(); @Output() onStopBroadcastingClicked: EventEmitter<void> = new EventEmitter<void>();
/** /**
@ -584,6 +589,7 @@ export class ToolbarComponent implements OnInit, OnDestroy, AfterViewInit {
this.onStopBroadcastingClicked.emit(); this.onStopBroadcastingClicked.emit();
this.broadcastingService.updateStatus(BroadcastingStatus.STOPPING); this.broadcastingService.updateStatus(BroadcastingStatus.STOPPING);
} else if (this.broadcastingStatus === BroadcastingStatus.STOPPED) { } else if (this.broadcastingStatus === BroadcastingStatus.STOPPED) {
this.onStartBroadcastingClicked.emit();
if (this.showActivitiesPanelButton && !this.isActivitiesOpened) { if (this.showActivitiesPanelButton && !this.isActivitiesOpened) {
this.toggleActivitiesPanel('broadcasting'); this.toggleActivitiesPanel('broadcasting');
} }
@ -667,7 +673,7 @@ export class ToolbarComponent implements OnInit, OnDestroy, AfterViewInit {
} }
private subscribeToFullscreenChanged() { private subscribeToFullscreenChanged() {
document.addEventListener("fullscreenchange", (event) => { document.addEventListener('fullscreenchange', (event) => {
this.isFullscreenActive = Boolean(document.fullscreenElement); this.isFullscreenActive = Boolean(document.fullscreenElement);
this.cdkOverlayService.setSelector(this.isFullscreenActive ? '#session-container' : 'body'); this.cdkOverlayService.setSelector(this.isFullscreenActive ? '#session-container' : 'body');
}); });

View File

@ -50,6 +50,7 @@
(onActivitiesPanelButtonClicked)="onActivitiesPanelButtonClicked()" (onActivitiesPanelButtonClicked)="onActivitiesPanelButtonClicked()"
(onStartRecordingClicked)="onStartRecordingClicked('toolbar')" (onStartRecordingClicked)="onStartRecordingClicked('toolbar')"
(onStopRecordingClicked)="onStopRecordingClicked('toolbar')" (onStopRecordingClicked)="onStopRecordingClicked('toolbar')"
(onStartBroadcastingClicked)="onToolbarStartBroadcastingClicked.emit()"
(onStopBroadcastingClicked)="onStopBroadcastingClicked('toolbar')" (onStopBroadcastingClicked)="onStopBroadcastingClicked('toolbar')"
> >
<ng-template #toolbarAdditionalButtons> <ng-template #toolbarAdditionalButtons>

View File

@ -405,6 +405,11 @@ export class VideoconferenceComponent implements OnInit, OnDestroy, AfterViewIni
*/ */
@Output() onActivitiesPanelStopBroadcastingClicked: EventEmitter<void> = new EventEmitter<void>(); @Output() onActivitiesPanelStopBroadcastingClicked: EventEmitter<void> = new EventEmitter<void>();
/**
* Provides event notifications that fire when start broadcasting button is clicked from {@link ToolbarComponent}.
*/
@Output() onToolbarStartBroadcastingClicked: EventEmitter<void> = new EventEmitter<void>();
/** /**
* Provides event notifications that fire when start broadcasting button is clicked from {@link ToolbarComponent}. * Provides event notifications that fire when start broadcasting button is clicked from {@link ToolbarComponent}.
*/ */

View File

@ -48,6 +48,7 @@
(onToolbarChatPanelButtonClicked)="onToolbarChatPanelButtonClicked()" (onToolbarChatPanelButtonClicked)="onToolbarChatPanelButtonClicked()"
(onToolbarStartRecordingClicked)="onStartRecordingClicked()" (onToolbarStartRecordingClicked)="onStartRecordingClicked()"
(onToolbarStopRecordingClicked)="onStopRecordingClicked()" (onToolbarStopRecordingClicked)="onStopRecordingClicked()"
(onToolbarStartBroadcastingClicked)="onStartBroadcastingClicked($event)"
(onActivitiesPanelStartRecordingClicked)="onStartRecordingClicked()" (onActivitiesPanelStartRecordingClicked)="onStartRecordingClicked()"
(onActivitiesPanelStopRecordingClicked)="onStopRecordingClicked()" (onActivitiesPanelStopRecordingClicked)="onStopRecordingClicked()"
(onActivitiesPanelDeleteRecordingClicked)="onDeleteRecordingClicked($event)" (onActivitiesPanelDeleteRecordingClicked)="onDeleteRecordingClicked($event)"

View File

@ -91,6 +91,10 @@ export class CallComponent implements OnInit {
async onStartBroadcastingClicked(broadcastUrl: string) { async onStartBroadcastingClicked(broadcastUrl: string) {
console.log('START STREAMING', broadcastUrl); console.log('START STREAMING', broadcastUrl);
if (!broadcastUrl) {
console.error('Broadcasting URL is empty');
return;
}
try { try {
this.broadcastingError = null; this.broadcastingError = null;
const resp = await this.restService.startBroadcasting(broadcastUrl); const resp = await this.restService.startBroadcasting(broadcastUrl);

View File

@ -47,6 +47,7 @@
(onToolbarFullscreenButtonClicked)="_onToolbarFullscreenButtonClicked()" (onToolbarFullscreenButtonClicked)="_onToolbarFullscreenButtonClicked()"
(onToolbarStartRecordingClicked)="onStartRecordingClicked('toolbar')" (onToolbarStartRecordingClicked)="onStartRecordingClicked('toolbar')"
(onToolbarStopRecordingClicked)="onStopRecordingClicked('toolbar')" (onToolbarStopRecordingClicked)="onStopRecordingClicked('toolbar')"
(onToolbarStartBroadcastingClicked)="onToolbarStartBroadcastingClicked.emit()"
(onToolbarStopBroadcastingClicked)="onStopBroadcastingClicked('toolbar')" (onToolbarStopBroadcastingClicked)="onStopBroadcastingClicked('toolbar')"
(onActivitiesPanelStartRecordingClicked)="onStartRecordingClicked('panel')" (onActivitiesPanelStartRecordingClicked)="onStartRecordingClicked('panel')"
(onActivitiesPanelStopRecordingClicked)="onStopRecordingClicked('panel')" (onActivitiesPanelStopRecordingClicked)="onStopRecordingClicked('panel')"

View File

@ -712,6 +712,11 @@ export class OpenviduWebComponentComponent implements OnInit {
*/ */
@Output() onToolbarStopRecordingClicked: EventEmitter<void> = new EventEmitter<void>(); @Output() onToolbarStopRecordingClicked: EventEmitter<void> = new EventEmitter<void>();
/**
* Provides event notifications that fire when start broadcasting button is clicked from {@link ToolbarComponent}.
*/
@Output() onToolbarStartBroadcastingClicked: EventEmitter<void> = new EventEmitter<void>();
/** /**
* Provides event notifications that fire when stop broadcasting button is clicked from {@link ToolbarComponent}. * Provides event notifications that fire when stop broadcasting button is clicked from {@link ToolbarComponent}.
* The recording should be stopped using the REST API. * The recording should be stopped using the REST API.