diff --git a/frontend/projects/shared-meet-components/src/lib/components/recording-video-player/recording-video-player.component.html b/frontend/projects/shared-meet-components/src/lib/components/recording-video-player/recording-video-player.component.html index 6967d64..c8add69 100644 --- a/frontend/projects/shared-meet-components/src/lib/components/recording-video-player/recording-video-player.component.html +++ b/frontend/projects/shared-meet-components/src/lib/components/recording-video-player/recording-video-player.component.html @@ -9,7 +9,6 @@ controlsList="nodownload" playsinline autoplay - [muted]="viewportService.isMobileView()" [disablePictureInPicture]="viewportService.isMobileView()" class="video-player" (loadeddata)="onVideoLoaded()" diff --git a/frontend/projects/shared-meet-components/src/lib/components/recording-video-player/recording-video-player.component.ts b/frontend/projects/shared-meet-components/src/lib/components/recording-video-player/recording-video-player.component.ts index 3dd73fa..9579a03 100644 --- a/frontend/projects/shared-meet-components/src/lib/components/recording-video-player/recording-video-player.component.ts +++ b/frontend/projects/shared-meet-components/src/lib/components/recording-video-player/recording-video-player.component.ts @@ -69,7 +69,7 @@ export class RecordingVideoPlayerComponent implements OnDestroy { constructor(public viewportService: ViewportService) {} - onVideoLoaded() { + async onVideoLoaded() { this.isVideoLoaded = true; this.hasVideoError = false; this.videoLoaded.emit(); @@ -78,6 +78,20 @@ export class RecordingVideoPlayerComponent implements OnDestroy { if (this.viewportService.isMobileView()) { this.resetControlsTimeout(); } + + // try play unmuted and if it fails, mute and play again + if (this.videoPlayer && this.videoPlayer.nativeElement) { + try { + await this.videoPlayer.nativeElement.play(); + // Autoplay started successfully without muting + } catch (error) { + // Autoplay was prevented, mute and try again + this.videoPlayer!.nativeElement.muted = true; + this.videoPlayer!.nativeElement.play().catch((err) => { + console.error('Error playing video after muting:', err); + }); + } + } } onVideoError() {