From f8ecdd811dc09358f4ab58b1eb9546e28a4b3c0a Mon Sep 17 00:00:00 2001 From: Chrystian Huot Date: Tue, 3 Sep 2019 10:10:19 -0400 Subject: [PATCH] Radio service improvements --- client/imports/app/radio/radio.service.ts | 26 ++++++++++------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/client/imports/app/radio/radio.service.ts b/client/imports/app/radio/radio.service.ts index 0e598f6..9625cfe 100644 --- a/client/imports/app/radio/radio.service.ts +++ b/client/imports/app/radio/radio.service.ts @@ -226,18 +226,16 @@ export class AppRadioService implements OnDestroy { this.audioContext.decodeAudioData(arrayBuffer, (buffer) => { if (this.call.current) { - this.audioSource = this.audioContext.createBufferSource(); + this.audioContext.resume().then(() => { + this.audioSource = this.audioContext.createBufferSource(); - this.audioSource.buffer = buffer; - this.audioSource.connect(this.audioContext.destination); - this.audioSource.onended = () => this.skip(); - this.audioSource.start(); + this.audioSource.buffer = buffer; + this.audioSource.connect(this.audioContext.destination); + this.audioSource.onended = () => this.skip(); + this.audioSource.start(); - this.audioTimer = setInterval(() => this.emitTimeEvent(), 500); - - if (this.audioContext.state === 'suspended') { - this.audioContext.resume(); - } + this.audioTimer = setInterval(() => this.emitTimeEvent(), 500); + }); } }, () => this.skip()); } @@ -326,11 +324,9 @@ export class AppRadioService implements OnDestroy { } if (this.audioContext) { - EVENTS.forEach((event) => document.body.removeEventListener(event, bootstrap)); - - if (this.audioContext.state === 'suspended') { - this.audioContext.resume(); - } + this.audioContext.resume().then(() => { + EVENTS.forEach((event) => document.body.removeEventListener(event, bootstrap)); + }); } };