From f40093746ff8c514648ab40a5eb87561ec9b91b8 Mon Sep 17 00:00:00 2001 From: csantosm <4a.santos@gmail.com> Date: Mon, 21 Feb 2022 17:33:23 +0100 Subject: [PATCH] openvidu-components: Imrpoved user settings Fixed some bugs with replacing tracks and devices saved on storage Minor refactoring --- .../audio-wave/audio-wave.component.ts | 19 +- .../components/stream/stream.component.html | 6 +- .../lib/components/stream/stream.component.ts | 8 +- .../components/toolbar/toolbar.component.html | 11 - .../components/toolbar/toolbar.component.ts | 12 +- .../user-settings.component.html | 16 +- .../user-settings/user-settings.component.ts | 116 ++++----- .../src/lib/models/storage.model.ts | 4 +- .../src/lib/services/device/device.service.ts | 53 +++-- .../lib/services/openvidu/openvidu.service.ts | 225 +++++++++--------- .../participant/participant.service.ts | 2 +- .../lib/services/storage/storage.service.ts | 42 +++- 12 files changed, 280 insertions(+), 234 deletions(-) diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/audio-wave/audio-wave.component.ts b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/audio-wave/audio-wave.component.ts index fe8be885..90216fa6 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/audio-wave/audio-wave.component.ts +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/audio-wave/audio-wave.component.ts @@ -1,4 +1,4 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { Component, Input, OnDestroy, OnInit } from '@angular/core'; import { PublisherSpeakingEvent, StreamManager } from 'openvidu-browser'; @@ -7,19 +7,22 @@ import { PublisherSpeakingEvent, StreamManager } from 'openvidu-browser'; templateUrl: './audio-wave.component.html', styleUrls: ['./audio-wave.component.css'] }) -export class AudioWaveComponent implements OnInit { +export class AudioWaveComponent implements OnInit, OnDestroy { isSpeaking: boolean = false; audioVolume: number = 0; + private _streamManager: StreamManager; + @Input() set streamManager(streamManager: StreamManager) { + this._streamManager = streamManager; - if(streamManager) { - streamManager.on('publisherStartSpeaking', (event: PublisherSpeakingEvent) => { + if(this._streamManager) { + this._streamManager.on('publisherStartSpeaking', (event: PublisherSpeakingEvent) => { this.isSpeaking = true; }); - streamManager.on('publisherStopSpeaking', (event: PublisherSpeakingEvent) => { + this._streamManager.on('publisherStopSpeaking', (event: PublisherSpeakingEvent) => { this.isSpeaking = false; }); @@ -35,6 +38,12 @@ export class AudioWaveComponent implements OnInit { } constructor() {} + ngOnDestroy(): void { + if(this._streamManager){ + this._streamManager.off('publisherStartSpeaking'); + this._streamManager.off('publisherStopSpeaking'); + } + } ngOnInit(): void {} } diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/stream/stream.component.html b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/stream/stream.component.html index f64a7593..eec326e4 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/stream/stream.component.html +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/stream/stream.component.html @@ -4,7 +4,7 @@ [id]="'container-' + this._stream.streamManager?.stream?.streamId" #streamContainer > -