diff --git a/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/pages/meeting/meeting.component.html b/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/pages/meeting/meeting.component.html index 705dc314..9ba9f643 100644 --- a/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/pages/meeting/meeting.component.html +++ b/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/pages/meeting/meeting.component.html @@ -49,7 +49,7 @@ [showThemeSelector]="features().showThemeSelector" [showDisconnectionDialog]="false" (onRoomCreated)="onRoomCreated($event)" - (onParticipantConnected)="eventHandlerService.onParticipantConnected($event)" + (onParticipantConnected)="onParticipantConnected($event)" (onParticipantLeft)="onParticipantLeft($event)" (onRecordingStartRequested)="eventHandlerService.onRecordingStartRequested($event)" (onRecordingStopRequested)="eventHandlerService.onRecordingStopRequested($event)" diff --git a/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/pages/meeting/meeting.component.ts b/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/pages/meeting/meeting.component.ts index 91798949..97367155 100644 --- a/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/pages/meeting/meeting.component.ts +++ b/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/pages/meeting/meeting.component.ts @@ -201,6 +201,12 @@ export class MeetingComponent implements OnInit { window.open(`/room/${this.roomId()}/recordings?secret=${this.roomSecret()}`, '_blank'); } + onParticipantConnected(event: any): void { + // Play joined sound + this.meetingService.playParticipantJoinedSound(); + this.eventHandlerService.onParticipantConnected(event); + } + /** * Handles the participant left event and hides the videoconference component */ diff --git a/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/services/meeting.service.ts b/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/services/meeting.service.ts index 9dacd59f..d1d36449 100644 --- a/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/services/meeting.service.ts +++ b/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/services/meeting.service.ts @@ -27,6 +27,15 @@ export class MeetingService { this.notificationService.showSnackbar('Speaker link copied to clipboard'); } + /** + * Plays a sound to indicate that a participant has joined the meeting. + */ + playParticipantJoinedSound(): void { + const audio = new Audio('/assets/sounds/participant-joined.mp3'); + audio.volume = 0.5; + audio.play(); + } + /** * Ends a meeting by its room ID. * diff --git a/meet-ce/frontend/src/assets/sounds/participant-joined.mp3 b/meet-ce/frontend/src/assets/sounds/participant-joined.mp3 new file mode 100644 index 00000000..9d64120f Binary files /dev/null and b/meet-ce/frontend/src/assets/sounds/participant-joined.mp3 differ