From 15fdab9099eb72a6fac491d5a69380fb660e554b Mon Sep 17 00:00:00 2001 From: Paul Kaplan Date: Thu, 11 Jan 2018 10:09:55 -0500 Subject: [PATCH] Use ponyfill for get user media promise --- package.json | 1 + src/lib/audio/audio-recorder.js | 25 ++++++++++++++----------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 5b4f686c5..4aabddcc8 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,7 @@ "eslint-plugin-react": "^7.5.1", "file-loader": "1.1.6", "get-float-time-domain-data": "0.1.0", + "get-user-media-promise": "1.1.1", "gh-pages": "github:rschamp/gh-pages#publish-branch-to-subfolder", "html-webpack-plugin": "^2.30.0", "immutable": "3.8.1", diff --git a/src/lib/audio/audio-recorder.js b/src/lib/audio/audio-recorder.js index 528bb1eec..2d1bcb91d 100644 --- a/src/lib/audio/audio-recorder.js +++ b/src/lib/audio/audio-recorder.js @@ -1,4 +1,5 @@ import 'get-float-time-domain-data'; +import getUserMedia from 'get-user-media-promise'; import SharedAudioContext from './shared-audio-context.js'; import {computeRMS} from './audio-util.js'; @@ -22,17 +23,19 @@ class AudioRecorder { startListening (onStarted, onUpdate, onError) { try { - navigator.getUserMedia({audio: true}, userMediaStream => { - if (!this.disposed) { - this.started = true; - onStarted(); - this.attachUserMediaStream(userMediaStream, onUpdate); - } - }, e => { - if (!this.disposed) { - onError(e); - } - }); + getUserMedia({audio: true}) + .then(userMediaStream => { + if (!this.disposed) { + this.started = true; + onStarted(); + this.attachUserMediaStream(userMediaStream, onUpdate); + } + }) + .catch(e => { + if (!this.disposed) { + onError(e); + } + }); } catch (e) { if (!this.disposed) { onError(e);