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 > -