# HG changeset patch # User Lucas Thompson # Date 1490376095 0 # Node ID 49017504bc395041af359503d3ecd5c3d806e86b # Parent 1db0bb28688bee2072024a8d74dc334387528dec Use promise style decodeAudioData if available. diff -r 1db0bb28688b -r 49017504bc39 src/app/services/audio-player/audio-player.service.ts --- a/src/app/services/audio-player/audio-player.service.ts Fri Mar 24 16:14:57 2017 +0000 +++ b/src/app/services/audio-player/audio-player.service.ts Fri Mar 24 17:21:35 2017 +0000 @@ -72,9 +72,14 @@ this.audioElement.load(); const decode: (buffer: ArrayBuffer) => Promise = buffer => { - return new Promise( - (res, rej) => this.audioContext.decodeAudioData(buffer, res, rej) - ); + try { + return this.audioContext.decodeAudioData(buffer) as Promise; + } catch (e) { + console.warn('Falling back to callback style decodeAudioData'); + return new Promise( + (res, rej) => this.audioContext.decodeAudioData(buffer, res, rej) + ); + } }; this.readResource(resource) @@ -87,8 +92,9 @@ }); }) .catch(err => { + const message = err && err.message ? err.message : "Read error"; this.audioLoaded.next({ - message: err.message + message: message }); }); return url;