From cee5890594136e857bc8526052ddfd4dda4bfec6 Mon Sep 17 00:00:00 2001 From: Eduard Kuzmenko Date: Tue, 18 Jan 2022 01:41:12 +0400 Subject: [PATCH] Fix group call connection sound --- src/helpers/audioAssetPlayer.ts | 3 ++- src/lib/appManagers/appGroupCallsManager.ts | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/helpers/audioAssetPlayer.ts b/src/helpers/audioAssetPlayer.ts index 37d16ec6..c200c639 100644 --- a/src/helpers/audioAssetPlayer.ts +++ b/src/helpers/audioAssetPlayer.ts @@ -19,6 +19,7 @@ export default class AudioAssetPlayer { try { const audio = this.createAudio(); + audio.autoplay = true; audio.src = ASSETS_PATH + name; audio.loop = loop; audio.play(); @@ -39,7 +40,7 @@ export default class AudioAssetPlayer { } public stopSound() { - this.audio.pause(); + this.audio?.pause(); } public cancelDelayedPlay() { diff --git a/src/lib/appManagers/appGroupCallsManager.ts b/src/lib/appManagers/appGroupCallsManager.ts index 1feac60b..256d0b52 100644 --- a/src/lib/appManagers/appGroupCallsManager.ts +++ b/src/lib/appManagers/appGroupCallsManager.ts @@ -469,10 +469,6 @@ export class AppGroupCallsManager { const connection = connectionInstance.createPeerConnection(); connection.addEventListener('negotiationneeded', () => { - if(!rejoin) { - this.startConnectingSound(); - } - connectionInstance.negotiate(); }); @@ -485,7 +481,9 @@ export class AppGroupCallsManager { currentGroupCall.dispatchEvent('state', currentGroupCall.state); const {iceConnectionState} = connection; - if(iceConnectionState !== 'connected' && iceConnectionState !== 'closed') { + if(iceConnectionState === 'disconnected' || iceConnectionState === 'checking' || iceConnectionState === 'new') { + this.startConnectingSound(); + } else { this.stopConnectingSound(); } @@ -541,6 +539,8 @@ export class AppGroupCallsManager { this.setCurrentGroupCall(currentGroupCall); log('set currentGroupCall', groupCallId, currentGroupCall); + this.startConnectingSound(); + return connectionInstance.negotiate(); } }