File tree Expand file tree Collapse file tree 3 files changed +16
-3
lines changed
Expand file tree Collapse file tree 3 files changed +16
-3
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ " livekit-client " : patch
3+ ---
4+
5+ Properly clean up event listeners in getNewAudioContext()
Original file line number Diff line number Diff line change @@ -244,7 +244,7 @@ export default class LocalAudioTrack extends LocalTrack<Track.Kind.Audio> {
244244 const trackIsSilent = await detectSilence ( this ) ;
245245 if ( trackIsSilent ) {
246246 if ( ! this . isMuted ) {
247- this . log . warn ( 'silence detected on local audio track' , this . logContext ) ;
247+ this . log . debug ( 'silence detected on local audio track' , this . logContext ) ;
248248 }
249249 this . emit ( TrackEvent . AudioSilenceDetected ) ;
250250 }
Original file line number Diff line number Diff line change @@ -147,10 +147,18 @@ export function getNewAudioContext(): AudioContext | void {
147147 }
148148 } catch ( e ) {
149149 console . warn ( 'Error trying to auto-resume audio context' , e ) ;
150+ } finally {
151+ window . document . body ?. removeEventListener ( 'click' , handleResume ) ;
150152 }
151-
152- window . document . body ?. removeEventListener ( 'click' , handleResume ) ;
153153 } ;
154+
155+ // https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/statechange_event
156+ audioContext . addEventListener ( 'statechange' , ( ) => {
157+ if ( audioContext . state === 'closed' ) {
158+ window . document . body ?. removeEventListener ( 'click' , handleResume ) ;
159+ }
160+ } ) ;
161+
154162 window . document . body . addEventListener ( 'click' , handleResume ) ;
155163 }
156164 return audioContext ;
You can’t perform that action at this time.
0 commit comments