Mercurial > hg > ugly-duckling
changeset 207:49017504bc39
Use promise style decodeAudioData if available.
author | Lucas Thompson <dev@lucas.im> |
---|---|
date | Fri, 24 Mar 2017 17:21:35 +0000 |
parents | 1db0bb28688b |
children | d88dfde939e0 |
files | src/app/services/audio-player/audio-player.service.ts |
diffstat | 1 files changed, 10 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- 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<AudioBuffer> = buffer => { - return new Promise( - (res, rej) => this.audioContext.decodeAudioData(buffer, res, rej) - ); + try { + return this.audioContext.decodeAudioData(buffer) as Promise<AudioBuffer>; + } 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;